说明
int
count ( mixed var [, int mode] )
返回 var 中的单元数目,通常是一个
array,任何其它类型都只有一个单元。
对于对象,如果安装了 SPL,可以通过实现
Countable 接口来调用
count()。该接口只有一个方法
count(),此方法返回 count()
函数的返回值。
如果 var 不是数组类型或者实现了
Countable 接口的对象,将返回
1,有一个例外,如果
var 是 NULL 则结果是 0。
注:
可选的 mode 参数自 PHP 4.2.0 起可用。
如果可选的 mode 参数设为
COUNT_RECURSIVE(或 1),count()
将递归地对数组计数。对计算多维数组的所有单元尤其有用。mode
的默认值是 0。count()
识别不了无限递归。
注意 |
count() 对没有初始化的变量返回 0,但对于空的数组也会返回 0。用
isset() 来测试变量是否已经初始化。
|
请参考手册中数组一节中关于怎样在
PHP 中实现和使用数组的详细解释。
例子 1. count() 例子
<?php $a[0] = 1; $a[1] = 3; $a[2] = 5; $result = count($a); // $result == 3
$b[0] = 7; $b[5] = 9; $b[10] = 11; $result = count($b); // $result == 3;
$result = count(null); // $result == 0
$result = count(false); // $result == 1 ?>
|
|
例子 2. count() 的递归例子(PHP >= 4.2.0)
<?php $food = array('fruits' => array('orange', 'banana', 'apple'), 'veggie' => array('carrot', 'collard','pea'));
// recursive count echo count($food, COUNT_RECURSIVE); // output 8
// normal count echo count($food); // output 2 ?>
|
|
参见 is_array(),isset()
和 strlen()。