我有一个表单将多维数组发布到我的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;
}
有什么想法吗?
答案 0 :(得分:4)
我注意到这已经闲置了一段时间,这是一个非常有效的自定义功能。
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';
}