PHP入門 配列関数 配列の要素数を取得する(count関数)
count関数は、配列に含まれる要素の数を取得します。
構文:count関数
count(array $value [, int $mode = COUNT_NORMAL]):int
$value | 対象の配列 |
$mode | カウントの方法 |
例:基本
<?php
$data = ['山田', '田中', '鈴木','井上','和田'];
print count($data);
例:多次元配列
2次元配列の正体は、あくまで「配列の配列」です。「array型の要素を持つ1次元配列」と言い換えていいでしょう。よって、sount関数の戻り値もarray型要素の個数である3となります。
<?php
$data = [
['X-1','X-2','X-3'],
['Y-1','Y-2','Y-3'],
['Z-1','Z-2','Z-3'],
];
print count($data);
入れ子になった配列までカウントしたい場合には、引数$modeをCOUNT_RECURSIVEに設定します。COUNT_RECURSIVEモードでは、まず1次元目の要素(3個)をカウントし、その後、2次元目に相当するそれぞれの要素(3×3=9)をカウントし、それらを合計したものを返します。
print count($data, COUNT_RECURSIVE); //結果:12
COUNT_RECURSIVEモードの挙動は期待したものではないので、純粋に要素数を得たいならば、array_walk_recursive関数などを利用します。