php – 有没有方法检查所有数组项是否为’0’?

前端之家收集整理的这篇文章主要介绍了php – 有没有方法检查所有数组项是否为’0’?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个阵列
  1. $data = array( 'a'=>'0','b'=>'0','c'=>'0','d'=>'0' );

我想检查所有数组值是否为零.

  1. if( all array values are '0' ) {
  2.  
  3. echo "Got it";
  4.  
  5. } else {
  6.  
  7. echo "No";
  8. }

谢谢

我想你可以用 array_filter()得到一个非零的所有项目的数组;并在结果数组上使用 empty(),以确定它是否为空.

例如,使用示例数组:

  1. $data = array(
  2. 'a'=>'0','d'=>'0' );

使用以下代码部分:

  1. $tmp = array_filter($data);
  2. var_dump($tmp);

显示一个空数组,不包含非零元素:

  1. array(0) {
  2. }

并使用这样的东西:

  1. if (empty($tmp)) {
  2. echo "All zeros!";
  3. }

会得到以下输出

  1. All zeros!

另一方面,使用以下数组:

  1. $data = array(
  2. 'a'=>'0','b'=>'1','d'=>'0' );

$tmp数组将包含:

  1. array(1) {
  2. ["b"]=>
  3. string(1) "1"
  4. }

而且,因此,不会是空的.

请注意,不将回调作为第二个参数传递给array_filter()将起作用,因为(引用):

If no callback is supplied,all entries of input equal to FALSE (see 07002) will be removed.

猜你在找的PHP相关文章