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

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

作成日: 更新日:

基本的な使い方

currentメソッドは、InfiniteIteratorが内部で保持しているイテレータの現在の要素を取得するために実行するメソッドです。InfiniteIteratorクラスは、配列などの反復可能なデータ構造をラップし、その要素を無限に繰り返し処理する機能を提供します。このメソッドは、その無限ループの中で、現在どの要素を指しているかという「現在の値」を取得する役割を担います。例えば、foreachループでInfiniteIteratorのインスタンスを処理する場合、各反復で値を取り出す際にPHPエンジンによって内部的にこのメソッドが呼び出されます。通常のイテレータはデータの終端に達すると処理を終了しますが、InfiniteIteratorは自動的に先頭に戻って繰り返しを続けます。そのため、内部のイテレータが空でない限り、currentメソッドは常に有効な値を返し続けます。このメソッドに引数はなく、返り値は内部イテレータの現在の要素であり、そのデータ型は要素に依存します。

構文(syntax)

1<?php
2
3// 'Apple', 'Banana', 'Cherry' の配列を元に無限イテレータを作成します
4$iterator = new InfiniteIterator(
5    new ArrayIterator(['Apple', 'Banana', 'Cherry'])
6);
7
8// ループを5回実行します
9for ($i = 0; $i < 5; $i++) {
10    // current() は、イテレータの現在の位置にある要素の値を返します。
11    $currentValue = $iterator->current();
12
13    echo $currentValue . PHP_EOL;
14
15    // イテレータを次の要素に進めます
16    $iterator->next();
17}

引数(parameters)

引数なし

引数はありません

戻り値(return)

mixed

InfiniteIterator クラスの current メソッドは、現在イテレータが指している要素を返します。このメソッドは、無限に続くイテレータの要素を順に取得するために使用されます。

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