count
count
(PHP 4, PHP 5, PHP 7)
count - 统计数组中的所有元素或对象中的某个元素
描述
int count ( mixed $array_or_countable [, int $mode = COUNT_NORMAL ] )
计算数组中的所有元素或对象中的某个元素。
对于对象,如果您安装了SPL,则可以通过实现接口Countable 将其挂接到count()
。该接口只有一个方法Countable :: count()
,它返回count()
函数的返回值。
有关如何在PHP中实现和使用数组的详细说明,请参阅手册的Array部分。
参数
array_or_countable
一个数组或可数对象。
mode
如果可选mode
参数设置为COUNT_RECURSIVE
(或1),则count()
将递归计数数组。这对计算多维数组的所有元素特别有用。
警告
count()
可以检测递归以避免无限循环,但E_WARNING
每次都会发出一次(如果数组本身包含多次)并返回高于预期值的计数。
返回值
返回中的元素数量array_or_countable
。当参数既不是数组也不是具有可数接口的对象时,将返回1
。有一个例外,如果array_or_countable
是NULL
,将返回0
。
警告
对于未设置的变量,count()
可能会返回0,但对于已使用空数组进行初始化的变量,count
也可以返回0。使用isset()来测试是否设置了变量。
例子
示例#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递归计数()示例
<?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
?>