Php'de işimizi kolaylaştıran fakat fazla bilinmeyen fonksiyonları başlıklar altında yazarak sizlere tanıtmak istiyorum. Bundan dolayı ileriki yazılarımda php fonksiyonlarını anlatan yazılar bulabileceksiniz. Böylece sizlerin bu fonksiyonlara daha kolay ulaşması için biraz katkım olacağını düşünüyorum.
Fonksiyon tanımlarken bazen gelen parametre sayısı belli olmayabilir. Böyle durumlarda php fonksiyonu olan func_get_args fonksiyonunu kullanabiliriz. Bir fonksiyona gelen parametreleri dizi olarak bize verir. Örnek bir kodla daha iyi anlayalım.
function fonksiyon() { $parametreler = func_get_args(); echo '<pre>'; print_r($parametreler); echo '</pre>'; } fonksiyon("parametre 1", "parametre 2", "parametre 3");
Yukarıdaki kodumuzun çıktısı aşağıdaki gibi olacak :
Array ( [0] => parametre 1 [1] => parametre 2 [2] => parametre 3 )
Yukarıdaki koddan da görüldüğü gibi func_get_args bize fonksiyon parametrelerini indisi sıfırdan başlayacak şekilde birer artarak numaralandırılımış bir dizi dönderir.
Yine bu fonksiyonla beraber kullanabileceğiniz bir diğer fonksiyon gelen parametrelerin sayısını verir func_num_args ve parametre listesinden bir parametreyi dönderen func_get_arg fonksiyonudur. Yukarıdaki kodumuzu bu fonksiyonların da anlaşılması için genişletelim.
function fonksiyon() { $parametreler = func_get_args(); $parametre_sayisi = func_num_args(); $birinci_parametre = func_get_arg(0); echo 'Parametre Sayısı = ' . $parametre_sayisi .'<br/>'; echo 'Birinci Parametre = ' . $birinci_parametre .'<br/><br/>'; echo '<b>Parametre Listesi : </b><br/>'; for ($i = 0; $i < $parametre_sayisi; $i++) { echo $parametreler[$i] . '<br />'; } } fonksiyon("parametre 1", "parametre 2", "parametre 3");
Kodumuzun son halinin çıktısı aşağıdaki gibi olacak
Parametre Sayısı = 3 Birinci Parametre = parametre 1 Parametre Listesi : parametre 1 parametre 2 parametre 3
esneklik bakımından php’nin güzel bir özelliğini paylaştığınız için teşekkürler, evet çok fazla bilinen bir fonksiyon değildi, bazı durumlarda işe yarayabilir
Yazın için teşekkürler. Kafama bir yer takıldı ve yapamadım. Detaylarını http://www.r10.net/php/1194678-fonksiyonlarin-esnekligi.html adreste görebilirsin sorumun. Ama burada da sana sorayım. Peki fonksiyona gelen parametrelerin içeriğini nasıl alabiliriz? Yani tamam, parametreleri aldık, parametre sayısını aldık. Kaç parametre gelirse gelsin. Ama bu parametrelere sonra nasıl verileri atayacağız? Örnek verirsen sevinirim. r10 üyeliğin varsa orada da cevap verebilirsin. Şimdiden teşekkürler.
func_get_args fonksiyonu ile gelen parametrelerin isimlerini değil değerlerini alıyorsun.
Aşağıdaki şekilde kontrol fonksiyonunu çağırdığında bu fonksiyonun içerisinde $parametreisimleri
değerini ekrana print_r fonksiyonu ile yazdırırsan senin gönderdiğin parametrelerin değerlerini yazdırdığını göreceksin.
Bence fonksiyonun kullanımını tam olarak anlayamadığın için biraz karıştırmışsın olayı.
Verileri ekrana yazdırarak daha iyi test edebilirsin.