从多维数组中删除空数组

Kid*_*ond 3 php arrays multidimensional-array

我有一个我在FormValidator类中使用的数组,但在某些时候我最终得到的数组如下所示.但我想从该数组中删除所有空数组,以便在我的验证中它不会检查空数组中的值,这是低效的.

是否有从多维数组中删除空数组的函数?

我知道,array_filter()但似乎只适用于数组元素值.

array(2)
{
  ["recaptcha_response_field"]=>
  array(0) {
  }
  ["terms"]=>
  array(0) {
  }
}
Run Code Online (Sandbox Code Playgroud)

sun*_*nny 13

试试这个 - 这将删除内部阵列中的空数组!

$array['recaptcha_response_field'] = array(
   'name'=>'name1',
   'email'=>'email1',
   'empty'=>''
);
$array['terms'] = array(
   'name'=>'name2',
   'email'=>'email2',
   'empty'=>''
);

$array['terms2'] = array();


$array= array_filter(array_map('array_filter', $array));

print_r($array);

OUTPUT-Array
(
    [recaptcha_response_field] => Array
        (
            [name] => name1
            [email] => email1
        )

    [terms] => Array
        (
            [name] => name2
            [email] => email2
        )

)
Run Code Online (Sandbox Code Playgroud)