- Katılım
- 2 Mar 2015
- Konular
- 59,189
- Mesajlar
- 88,439
- Çözüm
- 109
- Online süresi
- 4mo 16d
- Reaksiyon Skoru
- 14,280
- Altın Konu
- 2,398
- TM Yaşı
- 11 Yıl 3 Ay 6 Gün
- Başarım Puanı
- 1,051
- MmoLira
- 695,092
- 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!
PHP'de değişken sayıda elemana sahip bir argüman listesi kabul edebilen bir fonksiyon yazmak mümkündür. Değişken bir argüman listesi bildirmek için argümanın adının önüne "..." (üç nokta) sembolü eklenir. Geçilen değerler argümanın adıyla bir dizide toplanır.
function myfunction(...$arg) {
Statement1;
Statement2;
}
Böyle bir fonksiyonu çağırmak için parantez içine virgülle ayrılmış herhangi bir sayıda değer koyun.
myfunction(v1, v2, v3, . . . , vn);
Fonksiyonda bildirilen resmi argüman, geçirilen tüm değerlerin bir dizisidir. İşlemi gerçekleştirmek için uygun yerleşik dizi fonksiyonlarından herhangi birini kullanabiliriz.
Örnek
Aşağıdaki örnekte, kullanıcı tarafından tanımlanan myfunction() fonksiyonu değişken sayıda değer alma ve bunların ortalamasını bulma yeteneğine sahiptir.
PHP:
<?php
function myfunction(...$numbers) {
$avg = array_sum($numbers)/count($numbers);
return $avg;
}
$avg = myfunction(5, 12, 9, 23, 8);
echo "average = $avg";
?>
Aşağıdaki çıktıyı üretecektir:
average = 11.4
Geçirilen dizinin boyutunu değiştirip programı tekrar çalıştırmayı deneyin.
Fonksiyonun içindeki diziyi dolaşmak için foreach döngüsü kullanabilirsiniz. Fonksiyon, değişken uzunluk argümanından önce herhangi bir konumsal argümana sahip olabilir. Alınan değerlerden, konumsal argümanlar önce doldurulacak ve diğerlerinin diziye kopyalanması sağlanacaktır.
Örnek
PHP:
<?php
function myfunction($x, ...$numbers) {
echo "First number: $x" . PHP_EOL;
echo "Remaining numbers: ";
foreach ($numbers as $n) {
echo "$n ";
}
}
myfunction(5, 12, 9, 23, 8, 41);
?>
Aşağıdaki çıktıyı üretecektir:
First number: 5
Remaining numbers: 12 9 23 8 41
Değişken Fonksiyonlar
"..." sözdizimi olmadan bile bir fonksiyona değişken sayıda argüman işlemek mümkündür. PHP'de func_num_args(), func_get_arg() ve func_get_args() gibi benzer sonuçlarla kullanılabilen yerleşik fonksiyonlar vardır.- func_num_args() − Fonksiyona geçirilen argüman sayısını döndürür.
- func_get_arg() − Bağımsız değişken listesinden bir öğe döndürür
- func_get_args() − Bir fonksiyonun argüman listesini içeren bir dizi döndürür
Örnek
Yukarıdaki değişken argüman örneği aşağıdaki fonksiyonlarla yeniden yazılabilir:
PHP:
<?php
function myfunction() {
$sum = 0;
foreach (func_get_args() as $n) {
$sum += $n;
}
return $sum;
}
echo myfunction(5, 12, 9, 23, 8, 41);
?>
Aşağıdaki çıktıyı üretecektir:
Örnek
Bu program fonksiyona geçirilen tüm sayıları yazdırır.
PHP:
<?php
function myfunction() {
$len = func_num_args();
echo "Numbers : ";
$i=0;
for ($i=0; $i<$len; $i++)
echo func_get_arg($i) . " ";
}
myfunction(5, 12, 9, 23, 8, 41);
?>
Aşağıdaki çıktıyı üretecektir:
Numbers : 5 12 9 23 8 41

