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);