Как посчитать массив пустых значений с помощью php?

Как рассчитать количество массивов, значения которых пусты.
Например, у меня есть результат массива:

    Array (
[0] => 'A',
[1] => 'B',
[2] => 'C',
[3] => '',
[4] => '',
[5] => 'F',
[6] => '')

Вот 3 пустых значения массива (индекс 3,4,6), так как получить количество пустых значений массива

0

Решение

$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

3

Другие решения

$a = ['1', '2', '', '', '5', ''];
echo count($a) - count(array_filter($a)); // output: 3
1

Для многомерных массивов (и плоских массивов тоже) вы можете использовать

 $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, ['']));

Но это не работает с вложенными массивами

песочница

1

Попробуй это:

<?php
$count = 0;
for ($i =0; $i < length($array); $i++) {
if ($array[$i] == '')
$count++;
}
?>
0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector