Как проверить, все ли значения в многомерном массиве пусты
У меня есть форма, отправляющая многомерный массив в мой скрипт 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;
}
Есть идеи?
1 ответ
Я заметил, что это долго зависало, это пользовательская функция, которая работает довольно хорошо.
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';
}