4

我有一个将多维数组发布到我的 PHP 脚本的表单,我需要知道数组中的所有值是否为空。

这是我的数组:

$array[] = array('a'=>'',
                 'b'=>array('x'=>''),
                 'c'=>array('y'=>array('1'=>'')),
                 'd'=>'');

我尝试使用 array_reduce(),但它只是返回一个数组:

echo array_reduce($array, "em");

function em($a,$b){
    return $a.$b;
}

有任何想法吗?

4

1 回答 1

5

我注意到这已经存在了一段时间,这是一个运行良好的自定义函数。

function emptyArray($array) {
  $empty = TRUE;
  if (is_array($array)) {
    foreach ($array as $value) {
      if (!emptyArray($value)) {
        $empty = FALSE;
      }
    }
  }
  elseif (!empty($array)) {
    $empty = FALSE;
  }
  return $empty;
}

如果数组中的所有项都为空,则该函数将返回 true,但如果数组中的一项不为空,则该函数将返回 false。

用法:

if (emptyArray($ARRAYNAME)) {
  echo 'This array is empty';
}
else {
  echo 'This array is not empty';
}
于 2016-01-04T17:28:32.930 回答