PHP - 计算数组的值而不是键?

时间:2014-11-30 11:01:13

标签: php arrays count

在这样的数组中:

$array = array(
    'value1'=>'',
    'value2'=>'',
    'value3'=>'',
);

我们可以:

echo count($array);
// Outputs 3

但是如果我们有一个像:

这样的数组
$array = array(
    'value1'=>'',
    'value2'=>'some value',
    'value3'=>'',
);

执行以下操作的最佳方式是什么?

echo someFunction($array);
// Outputs 1

2 个答案:

答案 0 :(得分:4)

使用array_filter删除空值:

$array = array(
    'value1'=>'',
    'value2'=>'some value',
    'value3'=>'',
);
echo count(array_filter($array)); // prints 1

答案 1 :(得分:1)

遍历数组并测试每个元素是否真实

与array_filter相同,但更快(并且不分配另一个数组,因此使用的内存更少)