說明
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()。