我有一个多维数组。其中唯一的实际值(除了其他数组)是数字。默认情况下,它们都是0。
我想知道是否有一种简单的方法可以确定数组中是否包含0以外的值。
我知道我可以构建一些递归的东西,但我想知道我是否可以利用array_map()
或类似的东西。我无法让array_count_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。
谢谢!
答案 0 :(得分:3)
function hasnonzero($array)
{
foreach ($array as $value)
{
if (is_array($value))
{
if (hasnonzero($value))
return true;
}
else if ($value != 0)
return true;
}
return false;
}