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関数などを利用します。