count函数计算数组中的单元数目或对象中的属性个数

基本语法

int count ( mixed $var [, int $mode = COUNT_NORMAL ] )

统计一个数组里的所有元素,或者一个对象里的属性的个数。

对于对象,如果安装了 SPL,可以通过实现 Countable 接口来调用 count() 。该接口只有一个方法 Countable::count() ,此方法返回 count() 函数的返回值。

参数介绍:

参数 描述
var 必需。规定数组。
mode

可选。规定模式。如果可选的 mode 参数设为 COUNT_RECURSIVE (或 1), count() 将递归地对数组计数。对计算多维数组的所有单元尤其有用。mode 的默认值是 0。 count() 识别不了无限递归。

对于数组,返回其元素的个数,对于其他值,返回 1。如果参数是变量而变量没有定义,则返回 0。

返回值

返回 var 中的单元数目。 如果 var 不是数组类型或者实现了 Countable 接口的对象,将返回 1,如果 var 是 NULL 则结果是 0。 

注意:

count() 对没有初始化的变量返回 0,但对于空的数组也会返回 0。用 isset() 来测试变量是否已经初始化。

实例一:

<?php
$a[0] = 1;
$a[1] = 3;
$a[2] = 5;
var_dump(count($a));
echo \"<br/>\";

$b[0] = 7;
$b[5] = 9;
$b[10] = 11;
var_dump(count($b));
echo \"<br/>\";

$result = count(null);
var_dump($result);
echo \"<br/>\";

$result = count(false);
var_dump($result);
echo \"<br/>\";

?>      

在线运行

实例二:递归 count() 例子

<?php
$food = array(
    \'fruits\' => array(
        \'orange\',
        \'banana\',
        \'apple\'
    ) ,
    \'veggie\' => array(
        \'carrot\',
        \'collard\',
        \'pea\'
    )
);
echo count($food, COUNT_RECURSIVE); // output 8
echo \"<br/><br/>\";
echo count($food); // output 2
?> 

在线运行

收藏 打印