我有一个阵列
$data = array( 'a'=>'0','b'=>'0','c'=>'0','d'=>'0' );
我想检查所有数组值是否为零.
if( all array values are '0' ) { echo "Got it"; } else { echo "No"; }
谢谢
我想你可以用
array_filter()
得到一个非零的所有项目的数组;并在结果数组上使用
empty()
,以确定它是否为空.
例如,使用示例数组:
$data = array( 'a'=>'0','d'=>'0' );
使用以下代码部分:
$tmp = array_filter($data); var_dump($tmp);
会显示一个空数组,不包含非零元素:
array(0) { }
并使用这样的东西:
if (empty($tmp)) { echo "All zeros!"; }
会得到以下输出:
All zeros!
另一方面,使用以下数组:
$data = array( 'a'=>'0','b'=>'1','d'=>'0' );
$tmp数组将包含:
array(1) { ["b"]=> string(1) "1" }
而且,因此,不会是空的.
请注意,不将回调作为第二个参数传递给array_filter()将起作用,因为(引用):
If no callback is supplied,all entries of input equal to FALSE (see 07002) will be removed.