我有一个数组,我在FormValidator
类中使用它,但在某些情况下,我最终得到了一个类似以下的数组。但我想从该数组中删除所有空数组,以便在验证中它不会检查空数组中的值,这是低效的。
是否有函数可以从多维数组中删除空数组?
我知道array_filter()
,但它似乎只适用于数组元素值。
array(2)
{
["recaptcha_response_field"]=>
array(0) {
}
["terms"]=>
array(0) {
}
}
我有一个数组,我在FormValidator
类中使用它,但在某些情况下,我最终得到了一个类似以下的数组。但我想从该数组中删除所有空数组,以便在验证中它不会检查空数组中的值,这是低效的。
是否有函数可以从多维数组中删除空数组?
我知道array_filter()
,但它似乎只适用于数组元素值。
array(2)
{
["recaptcha_response_field"]=>
array(0) {
}
["terms"]=>
array(0) {
}
}
试试这个- 这将删除数组中的空数组!
$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
)
)
$array = array(array('foo','bar'), array('hi',''), array('',''), array('','hello'));
$array = array_filter(array_map('array_filter', $array));
print_r($array);
将显示:
数组([0] => Array([0] => foo [1] => bar)[1] => Array([0] => hi)[3] => Array([1] => hello))
foreach
和array_filter
,并将count
作为回调函数。foreach($arr as $k=>&$arr)
{
array_filter($arr,'count');
}
print_r($arr);