我有以下多维$数组:返回真/假的搜索多维数组
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