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

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

作成日: 更新日:

基本的な使い方

currentメソッドは、イテレータが現在指し示している要素の値を取得するために実行するメソッドです。このメソッドは、PHPの標準インターフェースであるIteratorを実装する上で必須とされるメソッドの一つです。IteratorIteratorクラスは、すでに存在する別のイテレータオブジェクトを内部に保持し、それ自身もイテレータとして振る舞うためのラッパークラスとして機能します。このIteratorIteratorオブジェクトに対してcurrentメソッドを呼び出すと、実際には内部で保持している元のイテレータのcurrentメソッドが呼び出され、その戻り値がそのまま返されます。つまり、IteratorIteratorは値の取得処理を内部のイテレータに委譲します。foreach文などを用いてオブジェクトの内容を順番に処理する際、ループの各段階で現在の要素の値を取り出すために、このメソッドが内部的に利用されます。戻り値の型は、内部イテレータが指す要素によって決まるため、様々な型を取りうるmixed型となります。通常、validメソッドによってイテレータが有効な位置を指しているかを確認した上で、このcurrentメソッドが呼び出されます。

構文(syntax)

1<?php
2
3$arrayIterator = new ArrayIterator(['Apple', 'Banana', 'Cherry']);
4$iterator = new IteratorIterator($arrayIterator);
5
6$iterator->rewind();
7
8$currentValue = $iterator->current();
9
10var_dump($currentValue);
11
12?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

mixed

現在のイテレータが指している要素の値を返します。