Ben aşağıdaki çok boyutlu $ dizi var:
Array
(
[0] => Array
(
[domain] => example.tld
[type] => 2
)
[1] => Array
(
[domain] => other.tld
[type] => 2
)
[2] => Array
(
[domain] => blaah.tld
[type] => 2
)
)
Ben sadece ardışık anahtar ve değer hem de tüm diziler arama, ve hiçbir şey bulunamadı eğer anahtar / değer bulundu veya false ise true dönmek istiyorum.
Beklenen çıkışı:
search_multi_array($array, 'domain', 'other.tld'); // Will return true
search_multi_array($array, 'type', 'other.tld'); // Will return false
search_multi_array($array, 'domain', 'google.com'); // Will return false
Ben bu fonksiyonu ile tüm tuşları karşı etki alanına karşı aramak için bir çirkin çirkin yöntemini çözdüm:
function search_multi_array($search_value, $the_array) {
if (is_array($the_array)) {
foreach ($the_array as $key => $value) {
$result = search_multi_array($search_value, $value);
if (is_array($result)) {
return true;
} elseif ($result == true) {
$return[] = $key;
return $return;
}
}
return false;
} else {
if ($search_value == $the_array) {
return true;
}
else
return false;
}
}
Herkes daha iyi yapmak ve daha şık bir şekilde anahtar ve değer karşı hem de maç miyim?