1

我编写了以下函数来按键搜索多维数组,但是如果我使用 key 调用该函数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);
        }   
    }   
}
4

1 回答 1

1

使用===强制值类型匹配。你会得到零,因为比较 0 和“uri”是true- 认为它们都评估为 0。有关 PHP 如何处理这些“松散”比较的完整详细信息,请参阅手册的这一部分

于 2012-07-08T20:06:43.277 回答