在多维数组上使用any()函数,可以通过递归遍历数组的每个元素,并在遍历过程中检查元素是否满足特定条件。以下是一个使用PHP实现的示例:
function multi_array_any($array, $callback) {
foreach ($array as $value) {
if (is_array($value)) {
if (multi_array_any($value, $callback)) {
return true;
}
} else {
if ($callback($value)) {
return true;
}
}
}
return false;
}
$array = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
];
$result = multi_array_any($array, function($value) {
return $value > 5;
});
var_dump($result); // 输出:bool(true)
在这个示例中,我们定义了一个名为multi_array_any
的函数,该函数接受一个多维数组和一个回调函数作为参数。我们递归遍历数组的每个元素,如果元素是一个数组,则递归调用multi_array_any
函数。如果元素不是数组,则调用回调函数并检查其返回值。如果回调函数返回true
,则我们返回true
,表示找到了满足条件的元素。如果遍历完整个数组仍未找到满足条件的元素,则返回false
。
在这个示例中,我们使用了一个匿名函数作为回调函数,该函数检查给定的值是否大于5。我们调用multi_array_any
函数并将结果存储在$result
变量中。最后,我们使用var_dump
函数输出结果,该结果表明我们在多维数组中找到了一个大于5的值。
领取专属 10元无门槛券
手把手带您无忧上云