Web aym.pekori.to

count

(PHP 3, PHP 4, PHP 5)

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

説明

int count ( mixed var [, int mode] )

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

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

もし var が配列もしくは Countable インターフェースを実装したオブジェクト ではない場合、1 が返されます。 1 つ例外があり、varNULL の場合、 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'));

// 再帰的なカウント
echo count($food, COUNT_RECURSIVE);  // output 8

// 通常のカウント
echo count($food);                  // output 2

?>

is_array(), isset(), strlen()も参照ください。