count

(PHP 3, PHP 4, PHP 5)

count -- 計算陣列中的單元數目或物件中的屬性個數

說明

int count ( mixed var [, int mode] )

返回 var 中的單元數目,通常是一個 array,任何其它類型都只有一個單元。

對於對象,若果安裝了 SPL,可以通過實現 Countable 介面來呼叫 count()。該介面只有一個方法 count(),此方法返回 count() 函數的返回值。

若果 var 不是陣列類型或是實現了 Countable 介面的對象,將返回 1,有一個例外,若果 varNULL 則結果是 0

注: 可選的 mode 參數自 PHP 4.2.0 起可用。

若果可選的 mode 參數設為 COUNT_RECURSIVE(或 1),count() 將遞歸地對陣列計數。對計算多維陣列的所有單元尤其有用。mode 的預設值是 0count() 識別不了無限遞歸。

注意

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($foodCOUNT_RECURSIVE);  // output 8

// normal count
echo count($food);                  // output 2
?>

參見 is_array()isset()strlen()