array_search() Kritik Nokta
Bildiğiniz gibi array_search() fonksiyonu, bir dizide belirtilen değeri arar ve bulursa ilgili anahtarı döndürür.
Fakat şöyle bir kritik nokta var:
$isimler=array('ahmet','mehmet','mustafa'); if ( array_search ( 'ahmet' , $isimler ) ){ echo 'var'; }else{ echo 'yok'; }
dediğimizde false değerini döndürdüğünü görebiliriz. Peki neden false değerini döndürdü?
Sorun şu array indisleri 0’dan başladığı için, array_search() fonksiyonu başarılı bir şekilde anahtar numarasını döndürdü. Daha sonra if kontolünden geçemediği için elseye gitti.
Sonra olarak eğer array_search() fonksiyonu kullanacaksak mutlaka anahtar numaralarını 1den başlatmalıyız veya işlev mantıksal FALSE değeriyle dönebileceği gibi FALSE olarak değerlendirilebilecek mantıksal olmayan bir değerle de dönebilir. Bu işlevden dönen değeri sınamak için === işlecini kullanınız..
Bu sayfa 652 kez görüntülendi.