【PHP8.x】getInnerIteratorメソッドの使い方
getInnerIteratorメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
getInnerIteratorメソッドは、LimitIteratorオブジェクトが内部でラップしている元のイテレータを取得するために実行するメソッドです。LimitIteratorクラスは、既存のイテレータに対して、指定したオフセット(開始位置)から特定の要素数だけを反復処理の対象とする範囲制限を加える機能を提供します。このLimitIteratorオブジェクトが、どのイテレータを元にして範囲制限を行っているのかを知りたい場合や、制限をかける前のイテレータ全体にアクセスしたい場合に、getInnerIteratorメソッドを使用します。このメソッドを呼び出すと、LimitIteratorのコンストラクタで指定された、内部に保持されているIteratorオブジェクトが返されます。これにより、開発者は範囲が限定されたイテレータと、その元となったイテレータの両方を必要に応じて操作することが可能になります。例えば、一部のデータ範囲を処理した後に、全体のデータ数を確認するなどの処理で活用できます。このメソッドに引数はなく、戻り値はラップされているIteratorオブジェクトです。
構文(syntax)
1<?php 2 3// 元となるArrayIteratorインスタンスを作成します。 4$arrayIterator = new ArrayIterator(['a', 'b', 'c', 'd', 'e']); 5 6// ArrayIteratorをラップするLimitIteratorインスタンスを作成します。 7$limitIterator = new LimitIterator($arrayIterator); 8 9// 内部のイテレータ(元の$arrayIterator)を取得します。 10$innerIterator = $limitIterator->getInnerIterator(); 11 12?>
引数(parameters)
引数なし
引数はありません
戻り値(return)
Iterator
LimitIterator::getInnerIteratorは、LimitIteratorが内部で保持しているオリジナルのIteratorを返します。