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;
count の例
]]>
&example.outputs;
Countable|array でない値を渡した場合の count の例 (悪い例です - 真似しないでね!)
]]>
&example.outputs;
&example.outputs.72;
&example.outputs.8;
再帰的な count の例
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;
Countable オブジェクトの例
]]>
&example.outputs;
&reftitle.seealso;
is_array
isset
empty
strlen
is_countable
Arrays