count 配列または Countable オブジェクトに含まれるすべての要素の数を数える &reftitle.description; intcount Countablearrayvalue intmodeCOUNT_NORMAL 配列の場合は、配列の全ての要素を数えます。 Countable インターフェイスを実装したオブジェクトの場合は、 Countable::count の戻り値を返します。 &reftitle.parameters; value 配列あるいは Countable オブジェクト。 mode オプションのmode 引数が COUNT_RECURSIVE (または 1) にセットされた場合、count は再帰的に配列をカウントします。 これは多次元配列の全ての要素をカウントするといった場合に特に有効です。 count は、再帰を検出して無限ループを回避するようになっています。 しかしその場合 (配列の中に自分自身が複数回登場する場合) は毎回 E_WARNING を発行し、期待する結果より大きい数を返します。 &reftitle.returnvalues; value の要素の数を返します。 PHP 8.0.0 より前のバージョンでは、 パラメータが配列でもなく Countable インターフェイスを 実装したオブジェクトでもない場合、1 が返されていました。 ただし、value が &null; の場合、 0 が返されていました。 &reftitle.changelog; &Version; &Description; 8.0.0 value パラメータに不正な型を渡した場合に、 TypeError をスローするようになりました。 7.2.0 value パラメータに不正な型を渡した場合に、 警告を発生させるようになりました。 &reftitle.examples; <function>count</function> の例 ]]> &example.outputs; Countable|array でない値を渡した場合の <function>count</function> の例 (悪い例です - 真似しないでね!) ]]> &example.outputs; &example.outputs.72; &example.outputs.8; 再帰的な <function>count</function> の例 array('orange', 'banana', 'apple'), 'veggie' => array('carrot', 'collard', 'pea')); // recursive count var_dump(count($food, COUNT_RECURSIVE)); // normal count var_dump(count($food)); ?> ]]> &example.outputs; <interfacename>Countable</interfacename> オブジェクトの例 ]]> &example.outputs; &reftitle.seealso; is_array isset empty strlen is_countable Arrays