我编写了以下函数来按键搜索多维数组,但是如果我用键uri
调用该函数,它会将具有键0
的数组附加到找到的数组。怎么了?
function search_arr($array, $key, &$found) {
foreach ($array as $k => $each) {
if ($k == $key) {
// output of "print $k = $key" is "0 = uri"
$found[] = $each;
}
if (is_array($each)) {
search_arr($each, $key, $found);
}
}
}
答案 0 :(得分:1)
使用===强制值和类型匹配。你得到零,因为比较0和“uri”是true
- 将它们视为评估为0.有关PHP如何处理这些“松散”比较的完整细节,请参阅此section of the manual。