【PHP8.x】countメソッドの使い方

countメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

countメソッドは、RecursiveArrayIteratorオブジェクトが持つ要素の数を返すメソッドです。このメソッドはPHPのCountableインターフェースを実装しており、オブジェクトに対してcount()関数が使用された際に内部的に呼び出されます。RecursiveArrayIteratorは多次元配列などを再帰的に走査するために設計されたイテレータですが、このcountメソッドが返すのは、イテレータが現在対象としている配列の第一階層にある要素の数のみです。これは、対象の配列に対して直接PHPの組み込み関数count()を実行した場合と全く同じ結果となります。注意点として、このメソッドは再帰的に全ての要素を数え上げるわけではありません。もし配列の中に別の配列(子配列)が含まれている場合、その子配列は1つの要素としてカウントされ、その内部の要素数は合計に含まれません。したがって、多次元配列全体の総要素数を取得したい場合は、別途再帰的な処理を記述する必要があります。このメソッドの戻り値は、要素数を表す整数値です。

構文(syntax)

1<?php
2
3// 多次元配列
4$fruits = [
5    'citrus' => ['orange', 'lemon'],
6    'berry' => ['strawberry', 'raspberry']
7];
8
9// RecursiveArrayIteratorのインスタンスを作成
10$iterator = new RecursiveArrayIterator($fruits);
11
12// 現在の階層にある要素の数を数える
13// この場合、'citrus' と 'berry' の2つ
14$count = $iterator->count();
15
16// 結果を出力 (出力: 2)
17echo $count;
18
19?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

int

このメソッドは、再帰的に配列を走査する際の現在の要素数を整数型(int)で返します。