如何检查多维数组是否至少有一个值在PHP中等于(bool)true
我有一个多维数组。其中唯一的实际值(除其他数组外)是数字。默认情况下,它们都是0 我想知道是否有一种简单的方法来确定数组中是否包含0以外的值 我知道我可以构建递归的东西,但我想知道我是否可以利用如何检查多维数组是否至少有一个值在PHP中等于(bool)true,php,arrays,Php,Arrays,我有一个多维数组。其中唯一的实际值(除其他数组外)是数字。默认情况下,它们都是0 我想知道是否有一种简单的方法来确定数组中是否包含0以外的值 我知道我可以构建递归的东西,但我想知道我是否可以利用array\u map()或类似的东西。我无法使array\u count\u values()使用关联数组 如果不可能,我将如何设计递归函数 下面是一些测试用例 $array = array( 'test' => array(0, 0, 0, array(0, 0, 0)) ) 应该返回fals
array\u map()
或类似的东西。我无法使array\u count\u values()
使用关联数组
如果不可能,我将如何设计递归函数
下面是一些测试用例
$array = array(
'test' => array(0, 0, 0, array(0, 0, 0))
)
应该返回false
$array = array(
'test' => array(0, 0, 0, array(6, 0, 0)) // notice the 6
)
应该返回true
谢谢 嗯,我想不出一种方法来使用PHP的内置函数来完成这项工作。下面是一个快速递归解决方案:
function hasnonzero($array)
{
foreach ($array as $value)
{
if (is_array($value))
{
if (hasnonzero($value))
return true;
}
else if ($value != 0)
return true;
}
return false;
}