- Katılım
- 2 Mar 2015
- Konular
- 59,189
- Mesajlar
- 88,442
- Çözüm
- 109
- Online süresi
- 4mo 16d
- Reaksiyon Skoru
- 14,280
- Altın Konu
- 2,398
- TM Yaşı
- 11 Yıl 3 Ay 7 Gün
- Başarım Puanı
- 1,051
- MmoLira
- 695,207
- DevLira
- 234
ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!
Anonim Fonksiyonlar Nelerdir?
PHP anonim fonksiyonların tanımlanmasına izin verir. Normalde, PHP'de bir fonksiyon tanımladığımızda, genellikle fonksiyonu gerektiğinde çağırmak için kullanılan bir isim veririz. Buna karşılık, anonim bir fonksiyon, tanımlama sırasında herhangi bir ismi belirtilmemiş bir fonksiyondur. Böyle bir fonksiyona kapanış veya lambda fonksiyonu da denir.Bazen, yalnızca bir kez kullanılmak üzere bir işlev isteyebilirsiniz. Anonim işlevlerin en yaygın kullanımı, satır içi bir geri çağırma işlevi oluşturmaktır.
Anonim fonksiyonlar Closure sınıfı kullanılarak uygulanır. Closure, tanımlandığı ortamın üzerinde kapanan anonim bir fonksiyondur.
Anonim bir işlevi tanımlamanın sözdizimi aşağıdaki gibidir:
$var=function ($arg1, $arg2) { return $val; };
Fonksiyon anahtar sözcüğü ile açılış parantezi arasında bir fonksiyon adı olmadığını ve fonksiyon tanımından sonra bir noktalı virgül olduğunu unutmayın. Bu, anonim fonksiyon tanımlarının ifadeler olduğu anlamına gelir. Bir değişkene atandığında, anonim fonksiyon daha sonra değişkenin adı kullanılarak çağrılabilir.
Örnek
Aşağıdaki örneğe bir göz atın.
PHP:
<?php
$add = function ($a, $b) {
return "a:$a b:$b addition: " . $a+$b;
};
echo $add(5,10);
?>
Aşağıdaki çıktıyı üretecektir :
a:5 b:10 addition: 15
Geri Arama Olarak Anonim İşlev
Anonim işlevler genellikle geri çağırmalar olarak kullanılır. Geri çağırma işlevleri başka bir işlevin argümanlarından biri olarak kullanılır. Anonim bir işlev anında yürütülür ve dönüş değeri, yerleşik veya kullanıcı tanımlı bir işlev olabilen ana işlevin argümanı olur.Örnek
Bu örnekte, kullanıcı tanımlı bir karşılaştırma fonksiyonu kullanarak bir diziyi değerlere göre sıralayan yerleşik bir fonksiyon olan usort() fonksiyonunun içinde anonim bir fonksiyon kullanıyoruz.
PHP:
<?php
$arr = [10,3,70,21,54];
usort ($arr, function ($x , $y) {
return $x > $y;
});
foreach ($arr as $x){
echo $x . "\n";
}
?>
Aşağıdaki çıktıyı üretecektir:
3
10
21
54
70
Örnek
Aşağıdaki örnek, bir dizideki ardışık sayılardan sonraki kümülatif toplamı hesaplamak için anonim bir işlev kullanır. Burada, array_walk() işlevini kullanırız. Bu işlev, dizideki her bir öğeye kullanıcı tanımlı bir işlev uygular.
PHP:
<?php
$arr=array(1,2,3,4,5);
array_walk($arr, function($n){
$s=0;
for($i=1;$i<=$n;$i++){
$s+=$i;
}
echo "Number: $n Sum: $s". PHP_EOL;
});
?>
Aşağıdaki çıktıyı üretecektir:
Number: 1 Sum: 1
Number: 2 Sum: 3
Number: 3 Sum: 6
Number: 4 Sum: 10
Number: 5 Sum: 15
Anonim İşlev (Kapanış Olarak)
Kapatma da " use " anahtar sözcüğü yardımıyla kapsamı dışındaki değişkenlere erişebilen anonim bir fonksiyondur.Örnek
Aşağıdaki örneğe bir göz atın.
PHP:
<?php
$maxmarks=300;
$percent=function ($marks) use ($maxmarks) {
return $marks*100/$maxmarks;
};
$m = 250;
echo "Marks = $m Percentage = ". $percent($m);
?>
Aşağıdaki çıktıyı üretecektir:
Marks = 250 Percentage = 83.333333333333

