如何检查多维数组中的所有值是否为空

lit*_*oom 3 php arrays multidimensional-array array-reduce

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

这是我的数组:

$array[] = array('a'=>'',
                 'b'=>array('x'=>''),
                 'c'=>array('y'=>array('1'=>'')),
                 'd'=>'');
Run Code Online (Sandbox Code Playgroud)

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

echo array_reduce($array, "em");

function em($a,$b){
    return $a.$b;
}
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

jaf*_*011 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;
}
Run Code Online (Sandbox Code Playgroud)

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

用法:

if (emptyArray($ARRAYNAME)) {
  echo 'This array is empty';
}
else {
  echo 'This array is not empty';
}
Run Code Online (Sandbox Code Playgroud)