如何计算其值为空的数组的数量。 例如,我有数组结果:
Array (
[0] => 'A',
[1] => 'B',
[2] => 'C',
[3] => '',
[4] => '',
[5] => 'F',
[6] => '')
这里有3个空数组值(索引3、4、6),因此如何获取空数组值的数量
答案 0 :(得分:3)
$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
答案 1 :(得分: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, ['']));
但是它不适用于嵌套数组
答案 2 :(得分:1)
$a = ['1', '2', '', '', '5', ''];
echo count($a) - count(array_filter($a)); // output: 3
答案 3 :(得分:0)
尝试一下:
<?php
$count = 0;
for ($i =0; $i < length($array); $i++) {
if ($array[$i] == '')
$count++;
}
?>