我有一个阵列
- $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.