如何检查多维数组是否至少有一个值在PHP中等于(bool)true

如何检查多维数组是否至少有一个值在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

我有一个多维数组。其中唯一的实际值(除其他数组外)是数字。默认情况下,它们都是0

我想知道是否有一种简单的方法来确定数组中是否包含0以外的值

我知道我可以构建递归的东西,但我想知道我是否可以利用
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;
}