Yükleniyor...

Php array_search() fonksiyonu tanımlanmış bir dizinin elemanlarında arama yapmamızı sağlar. Değer olarak eğer aradığınız değer dizide var ise o elemanın anahtarını döner.

in_array() ile tamamen aynı mantıkta çalışır. Tek farkı in_array() true ve ya false dönerken array_search() anahtar değerini veya 0 döner.

<?php 
//array_search("aranacak_deger", $dizi)
$programlamaDilleri[1] = "PHP";
$programlamaDilleri[2] = "JAVA";
$programlamaDilleri[3] = "JAVASCRİPT";
$programlamaDilleri[4] = "PYTHON";
$programlamaDilleri[5] = "C";
$programlamaDilleri[6] = "DART";

$ara = array_search("PHP", $programlamaDilleri);
if ($ara)
    echo "dizi içerisinde PHP değeri bulundu. Anahtarı = " . $ara;
else
    echo "dizi içerisinde PHP değeri bulunamadı.";
//Çıktı: dizi içerisinde PHP değeri bulundu. Anahtarı = 1
?>

Aynı örneğin in_array() ile yapımı

<?php 
$programlamaDilleri[1] = "PHP";
$programlamaDilleri[2] = "JAVA";
$programlamaDilleri[3] = "JAVASCRİPT";
$programlamaDilleri[4] = "PYTHON";
$programlamaDilleri[5] = "C";
$programlamaDilleri[6] = "DART";

$ara = in_array("PHP", $programlamaDilleri);
if(in_array("PHP", $programlamaDilleri)) //içinde PHP var mı?
  echo "dizi içerisinde PHP değeri bulundu.";
else 
  echo "dizi içerisinde PHP değeri bulunamadı.";
//Çıktı: dizi içerisinde PHP değeri bulundu.
?>

Ancak şuna dikkat edin; eğer bulduğu dizinin anahtarı 0 ise if-else yapısı doğru çalışmayacaktır.

<?php 
$programlamaDilleri[0] = "PHP";
$programlamaDilleri[1] = "JAVA";
$programlamaDilleri[2] = "JAVASCRİPT";
$programlamaDilleri[3] = "PYTHON";
$programlamaDilleri[4] = "C";
$programlamaDilleri[5] = "DART";

$ara = array_search("PHP", $programlamaDilleri);
if ($ara)
    echo "dizi içerisinde PHP değeri bulundu. Anahtarı = " . $ara;
else
    echo "dizi içerisinde PHP değeri bulunamadı.";
//Çıktı: dizi içerisinde PHP değeri bulunamadı.
//hatalı sonuç döndü çünkü anahtar 0 olduğu için if-else yapısı doğru çalışmadı.
?>
Sen Söyle, Biz Araştıralım!