değişkene fonksiyon atamak create_function()
create_function 'ı eval 'e benzetebilirsiniz. Yanlız unutmayın create_function bir fonksiyonken eval bir dil yapısıdır.
örnek 1:
$carpim_yazdir = create_function('$x,$y','echo $x * $y;');
$carpim_yazdir(5,2);
örnek 2:
$arama = create_function('$anahtar,$array,&$bul','global $bul; foreach ($array as $key => $value) { if (str_pos($value,$anahtar)!==false) $bul[] = $value; }');
$ara = array ( 'Php güzel bir dildir.',
'Php ile hayatınızı kolaylaştırın.',
'Asp nedir bizi ilgilendirmez.',
'Ama perli de severiz.' );
function bul_yazdir($ara,$anahtar,$arama_fonksiyonu) {
$bul = array();
$arama_fonksiyonu($anahtar,$ara,$bul);
foreach ($bul as $value) {
echo '- '.$value.'<br />';
}
}
bul_yazdir($ara,'Php',$arama);
örnek 3:
$anahtar = 'Php';
$ara = array ( 'Php güzel bir dildir.',
'Php ile hayatınızı kolaylaştırın.',
'Asp nedir bizi ilgilendirmez.',
'Ama perli de severiz.' );
$bul = array();
$arama = create_function('&$deger,$indeks', 'global $anahtar; if (strpos($deger,$anahtar)) {global $bul; $bul[] = $deger; }');
$ara_ve_yazdir = create_function('&$deger,$indeks', 'global $anahtar; if (strpos($deger,$anahtar)) echo $deger.'<br />'; ');
array_walk($ara, $arama);
echo '<pre>',print_r($bul,true),'
__________________ |