不完全确定如何适当地命名这个问题,但它需要遍历嵌套在数组中的任何数组,其中也可能是任何其他数组的元素 - 等等。最初,我认为需要标记哪些数组尚未循环,哪些数组已经循环,以完全循环“基本”数组(尽管了解到这不是必需的,而且 PHP 以某种方式任意执行此操作) . 这个问题似乎有点奇怪——如果省略了用于测试该值是否未找到的条件子句,则该函数将在任何地方找到嵌套在数组中的值,反之亦然。无论如何,功能如下:
function loop($arr, $find) {
for($i=0;$i<count($arr);$i++) {
if($arr[$i] == $find) {
print "Found $find";
return true;
} else {
if(is_array($arr[$i])) {
$this->loop($arr[$i], $find);
} else {
print "Couldn't find $find";
return false;
}
}
}
}