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

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

作成日: 更新日:

基本的な使い方

currentメソッドは、AppendIteratorオブジェクトが現在指している要素の値を取得して返すメソッドです。AppendIteratorクラスは、複数のイテレータを一つに連結し、あたかも単一のイテレータであるかのように振る舞わせる機能を提供します。このメソッドを呼び出すと、AppendIteratorが内部で保持しているイテレータのうち、現在アクティブになっているイテレータのcurrent()メソッドが実行され、その戻り値が返されます。foreachループなどでAppendIteratorオブジェクトを反復処理する際には、ループの各ステップで現在の値を取得するためにこのメソッドが内部的に利用されます。このメソッドはPHPの標準的なIteratorインターフェースで定められたメソッドの一つであり、key()next()rewind()valid()といった他のメソッドと連携してイテレーション全体の動作を制御します。イテレータが有効な位置を指していない状態でこのメソッドを呼び出した場合の動作は保証されないため、事前にvalid()メソッドで現在の位置が有効かどうかを確認してから値を取得することが安全な作法です。

構文(syntax)

1<?php
2
3// 2つのArrayIteratorを作成します
4$iterator1 = new ArrayIterator(['a', 'b']);
5$iterator2 = new ArrayIterator(['c', 'd']);
6
7// AppendIteratorを作成し、イテレータを追加します
8$appendIterator = new AppendIterator();
9$appendIterator->append($iterator1);
10$appendIterator->append($iterator2);
11
12// イテレータの先頭に巻き戻します
13$appendIterator->rewind();
14
15// 現在の要素を取得します
16$currentValue = $appendIterator->current();
17
18var_dump($currentValue);
19
20?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

mixed

AppendIterator::current() は、現在注目しているイテレータが持つ要素を返します。どのイテレータのどの要素を指しているかは、 AppendIterator::next() が最後に呼び出された結果によって決まります。