我有以下多維$數組:返回真/假的搜索多維數組
Array
(
[0] => Array
(
[domain] => example.tld
[type] => 2
)
[1] => Array
(
[domain] => other.tld
[type] => 2
)
[2] => Array
(
[domain] => blaah.tld
[type] => 2
)
)
我只是想遞歸搜索兩個鍵和值所有的陣列,並返回true,如果該鍵/值如果沒有發現,發現或者錯誤。
預期輸出:
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
我已經想通了一個醜陋的,醜陋的搜索方法,反對對使用此功能的所有鍵域:
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;
}
}
任何人都可以做的更好,同時匹配以更優雅的方式對抗關鍵和價值?
這正是我正在做的事情。小心解釋爲什麼這不會超過2個級別? – 2010-11-05 02:02:17
謝謝Wrikken,感謝它! – 2010-11-05 02:17:05