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

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

作成日: 更新日:

基本的な使い方

『currentメソッドは、イテレータの現在の位置にある要素を取得して返すメソッドです』

このメソッドは、PHPの標準的な機能であるIteratorインターフェースで定義されている基本的なメソッドの一つです。CachingIteratorクラスもこのインターフェースを実装しているため、currentメソッドを持っています。CachingIteratorは、配列や他のイテレータオブジェクトなどを内部に保持し、その要素を順番に処理する際に利用されます。currentメソッドを呼び出すと、内部で保持しているイテレータが現在指している要素の値が返されます。例えば、foreachループでCachingIteratorオブジェクトを処理する場合、各ループの反復において現在の値を取得するために、このメソッドが内部的に呼び出されます。イテレータがシーケンスの終端に達しているなど、有効な要素を指していない状態でこのメソッドを呼び出すと、その動作は保証されません。そのため、通常はvalidメソッドで現在の位置が有効であることを確認してからcurrentメソッドを使用することが推奨されます。

構文(syntax)

1<?php
2
3// イテレータの元になる配列を定義します
4$data = ['A', 'B', 'C'];
5
6// 配列を ArrayIterator に変換し、さらに CachingIterator でラップします
7$iterator = new CachingIterator(new ArrayIterator($data));
8
9// イテレータが有効な間、ループ処理を行います
10while ($iterator->valid()) {
11    // current() メソッドで、イテレータの現在の要素を取得します
12    $currentValue = $iterator->current();
13    echo $currentValue . PHP_EOL;
14
15    // next() メソッドで、イテレータを次の要素に進めます
16    $iterator->next();
17}
18
19?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

mixed

CachingIterator::current()は、現在のイテレータの位置にある要素を返します。 この要素は、キャッシュされたデータ、または元のイテレータから取得されたデータです。

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