PHP

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_countableNULL,将返回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 ?>