PHP函数:count-数组元素个数
PHP中有很多内置函数,其中一个常用的函数是count()函数,用于获取数组中元素的个数。
语法:
int count ( mixed $array_or_countable [, int $mode = COUNT_NORMAL ] )
参数说明:
mixed $array_or_countable:必选参数,可以传入一个数组或实现了Countable接口的对象;
int $mode (可选参数,默认为COUNT_NORMAL):可选参数,指定计数模式。其中有两种计数模式:COUNT_NORMAL和COUNT_RECURSIVE。COUNT_NORMAL表示只统计当前数组的元素数,不统计子数组的元素数。COUNT_RECURSIVE表示统计当前数组的元素数,并且也统计所有子数组的元素数。如果不指定$mode参数,那么默认使用COUNT_NORMAL模式。
例子:
$animals = array('cat', 'dog', 'fish');
echo count($animals); //输出3
$people = array(
'Ann' => array('age' => 20, 'gender' => 'female'),
'Bob' => array('age' => 25, 'gender' => 'male'),
'Charlie' => array('age' => 30, 'gender' => 'male')
);
echo count($people); //输出3,因为$people是一个二维数组
echo count($people, COUNT_RECURSIVE); //输出9,因为因为$people是一个二维数组,同时其子数组中也有对应的元素
使用count()函数注意事项:
1. count()函数不仅可以用于数组,也可以用于Countable接口的对象,例如SplFixedArray
2. 当传入的数据不是数组或Countable接口的对象时,count()函数返回值为1。因为不是数组或Countable接口的对象的数据,只会按照一个元素来计算。
3. 如果传入的数组中的键名非标准数字,那么count()函数只会统计其中的数字键名,即从0开始的整数键名。例如:
$fruits = array('apple', 'banana', 'orange');
$fruits['pineapple'] = 'yellow';
$fruits[3] = 'etc...';
echo count($fruits); //输出4,因为这里只会统计三个数字键名
4. count()函数并不改变数组的指针位置,也不会重置数组中的内部指针。
总结:
count()函数是一个常用的PHP内置函数,它可以帮助我们快速获取数组的元素个数。我们还可以利用它的$mode参数控制计数模式,以达到更精准的计数目的。需要注意的是,count()函数只会计数数组中从0开始的整数键名,如果数组中包含非标准数字的键名,那么计数只会统计数字键名。
