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 を返しますが、配列内の 1 つのアイテムが空でない場合、関数は false を返します。

使用法:

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