count 変数に含まれるすべての要素、 あるいはオブジェクトに含まれる何かの数を数える &reftitle.description; intcount mixedvar intmodeCOUNT_NORMAL 変数に含まれるすべての要素、 あるいはオブジェクトに含まれる何かの数を数えます。 オブジェクトに対して、もし SPL がインストールされている場合、インターフェイス Countable を実装することで count にフックすることができます。このインターフェイスには 1 つのメソッド Countable::count があり、count 関数に対する値を返します。 配列の実装やPHPでの使用法に関する詳細な説明については、マニュアルの 配列のセクションを参照ください。 &reftitle.parameters; var 配列あるいはオブジェクト。 mode オプションのmode 引数が COUNT_RECURSIVE (または 1) にセットされた場合、count は再帰的に配列をカウントします。 これは多次元配列の全ての要素をカウントするといった場合に特に有効です。 count は、再帰を検出して無限ループを回避するようになっています。 しかしその場合 (配列の中に自分自身が複数回登場する場合) は毎回 E_WARNING を発行し、期待する結果より大きい数を返します。 &reftitle.returnvalues; varに含まれる要素の数を返します。 もし var が配列もしくは Countable インターフェイスを実装したオブジェクトではない場合、 1 が返されます。 ひとつ例外があり、var が &null; の場合、 0 が返されます。 count は、セットされていない変数に関して 0 を返しますが、変数が空の配列として初期化されている場合にも 0 を返します。 ある変数がセットされているかどうかを調べるには、 isset を使用してください。 &reftitle.changelog; &Version; &Description; 4.2.0 オプションのパラメータ mode が追加されました。 &reftitle.examples; <function>count</function> の例 ]]> 再帰的な <function>count</function> の例 array('orange', 'banana', 'apple'), 'veggie' => array('carrot', 'collard', 'pea')); // 再帰的なカウント echo count($food, COUNT_RECURSIVE); // output 8 // 通常のカウント echo count($food); // output 2 ?> ]]> &reftitle.seealso; is_array isset strlen