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

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

作成日: 更新日:

基本的な使い方

『currentメソッドは、再帰的な反復処理中にイテレータが現在指している要素の値を取得するために実行するメソッドです。RecursiveIteratorIteratorクラスは、多次元配列やディレクトリ階層のような、ネストされたデータ構造をフラットな一連の要素として順番に処理する機能を提供します。このメソッドは、その一連の要素をたどる過程で、現在位置にある要素の値そのものを返します。foreach構文でRecursiveIteratorIteratorのインスタンスをループ処理する場合、各反復で変数に代入される値が、このcurrentメソッドの返り値に相当します。RecursiveIteratorIteratorはコンストラクタで動作モードを指定でき、例えば末端の要素(葉)のみを対象とするか、あるいは親要素(コンテナ)も対象に含めるかによって、currentメソッドが返す値の対象が変わります。返される値のデータ型は、元のイテレータが持つ要素の型に依存するためmixed型となります。このメソッドは、再帰構造内の各データへアクセスするための基本的な操作を担います。

構文(syntax)

1<?php
2
3$array = [
4    'Apple',
5    'Banana',
6    [
7        'Cherry',
8        'Durian',
9    ],
10    'Elderberry'
11];
12
13$iterator = new RecursiveIteratorIterator(
14    new RecursiveArrayIterator($array)
15);
16
17foreach ($iterator as $value) {
18    // イテレータが指している現在の要素の値を取得します。
19    echo $iterator->current() . PHP_EOL;
20}

引数(parameters)

引数なし

引数はありません

戻り値(return)

mixed

現在のイテレータが指し示す要素を返します。要素の型は mixed で、PHP のあらゆる型に対応します。

【PHP8.x】currentメソッドの使い方 | いっしー@Webエンジニア