PHP ile array ( dizi ) içerisinde array ( dizi ) key ( anahtar ) ile arama yapma ve dizi olarak key ( anahtar ) ve value (değer) ini almak


PHP ile array ( dizi )  içerisinde array ( dizi )  key  ( anahtar ) ile arama yapma ve dizi olarak  key  ( anahtar ) ve value (değer) ini almak.

Bazen çok büyük bir array içerisinde aradığımız değerlerden yeni bir dizi oluşturma ihtiyacımız oluyor array içerisinde arama yapıp sadece istediğimiz aradığımızdeğerlerden yeni array oluşturup bizie geri dönderen fonksiyonu aşağıya yazıyorum işinize yaraya bilir 

 

Çıktı olarak aşağıdaki değeri alabilir siniz

Array
(
    [0] => Array
        (
            [POSTAKODU] => 38000
            [TEL] => 54195928
        )

)
function dizAnahtarArama($dizi, $anahtarlar)
{
$sonuc = array();
if (is_array($dizi)) {
$sonucDizi = array_intersect_key($dizi, array_flip($anahtarlar));
if (!empty($sonucDizi)) {
$sonuc[] = $sonucDizi;
}

foreach ($dizi as $altdizi) {
$sonuc = array_merge($sonuc, dizAnahtarArama($altdizi, $anahtarlar));
}
}

return $sonuc;
}

$veri = array("SINIF" => "8D", "POSTAKODU" => "38000", "ADRES" => "Kayseri Melikgazi" , "TEL" => "54195928");
$aranacak = array("TEL","POSTAKODU");

$a = dizAnahtarArama($veri , $aranacak);
print_r($a);