compact
current
配列 関数
PHP Manual

# count

(PHP 4, PHP 5)

count — 変数に含まれるすべての要素、 あるいはオブジェクトに含まれるプロパティの数を数える

### 説明

int count ( mixed `$var` [, int `$mode` = COUNT_NORMAL ] )

変数に含まれるすべての要素、 あるいはオブジェクトに含まれるプロパティの数を数えます。

オブジェクトに対して、もし SPL がインストールされている場合、インターフェース Countable を実装することで count() にフックすることができます。このインターフェースには 1 つのメソッド count() があり、count() 関数に対する値を返します。

配列の実装やPHPでの使用法に関する詳細な説明については、マニュアルの 配列のセクションを参照ください。

### パラメータ

`var`

  配列。

`mode`

  オプションの`mode` 引数が `COUNT_RECURSIVE` (または 1) にセットされた場合、count() は再帰的に配列をカウントします。 これは多次元配列の全ての要素をカウントするといった場合に特に有効です。 count() は無限の再帰を検出しません。

### 返り値

`var`に含まれる要素の数を返します。 他のものには、1つの要素しかありませんので、通常 `var` は配列です。

もし `var` が配列もしくは Countable インターフェースを実装したオブジェクトではない場合、 1 が返されます。 ひとつ例外があり、`var` が `NULL` の場合、 0 が返されます。

警告

count() は、セットされていない変数に関して 0 を返しますが、変数が空の配列として初期化されている場合にも 0 を返します。 ある変数がセットされているかどうかを調べるには、 isset() を使用してください。

### 変更履歴

バージョン | 説明
--- | ---
4.2.0 | オプションのパラメータ `mode` が追加されました。

### 例

例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
$food = array('fruits' => array('orange', 'banana', 'apple'),
'veggie' => array('carrot', 'collard', 'pea'));
// 再帰的なカウント
echo count($food, COUNT_RECURSIVE); // output 8
// 通常のカウント
echo count($food); // output 2
?>`

### 参考

- is_array() - 変数が配列かどうかを検査する
- isset() - 変数がセットされていること、そして NULL でないことを検査する
- strlen() - 文字列の長さを得る

compact
current
配列 関数
PHP Manual