Как рассчитать количество массивов, значения которых пусты.
Например, у меня есть результат массива:
Array (
[0] => 'A',
[1] => 'B',
[2] => 'C',
[3] => '',
[4] => '',
[5] => 'F',
[6] => '')
Вот 3 пустых значения массива (индекс 3,4,6), так как получить количество пустых значений массива
$c = 0;
foreach($a as $v) {
if ($v === '') {
$c++;
}
}
echo "count: $c\n";
— ИЛИ ЖЕ —
$t = array_count_values($a);
echo "count: {$t['']}\n";
Руководство по PHP: http://php.net/manual/en/function.array-count-values.php
$a = ['1', '2', '', '', '5', ''];
echo count($a) - count(array_filter($a)); // output: 3
Для многомерных массивов (и плоских массивов тоже) вы можете использовать
$a = Array (
0 => 'A',
1 => 'B',
2 => 'C',
3 => '',
4 => '',
5 => 'F',
6 => '',
7 => ['','']
);
$total = 0;
array_walk_recursive($a, function($i) use (&$total){
if($i === '') ++$total;
});
echo $total;
Выход
5
Вероятно, самый короткий путь это:
echo count(array_intersect($a, ['']));
Но это не работает с вложенными массивами
Попробуй это:
<?php
$count = 0;
for ($i =0; $i < length($array); $i++) {
if ($array[$i] == '')
$count++;
}
?>