【PHP8.x】getInnerIteratorメソッドの使い方
getInnerIteratorメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
getInnerIteratorメソッドは、CachingIteratorオブジェクトが内部で保持している元のイテレータオブジェクトを取得するために実行するメソッドです。CachingIteratorクラスは、コンストラクタで渡された配列や他のイテレータオブジェクトをラップ(包み込み)し、次の要素の存在を事前に確認できるhasNextメソッドなどのキャッシュ機能を追加します。このとき、CachingIteratorがラップしている元のイテレータは「内部イテレータ」と呼ばれます。getInnerIteratorメソッドの役割は、この内部イテレータそのものを取得することです。例えば、ArrayIteratorオブジェクトを引数にしてCachingIteratorのインスタンスを生成した場合、このメソッドを呼び出すと、コンストラクタに渡した元のArrayIteratorオブジェクトが返されます。これにより、CachingIteratorが提供する機能とは別に、元のイテレータが持つ独自のメソッドやプロパティにアクセスしたい場合に役立ちます。このメソッドは引数を取らず、内部に保持されているIteratorインターフェースを実装したオブジェクトを返します。
構文(syntax)
1<?php 2 3$arrayIterator = new ArrayIterator(['a', 'b', 'c']); 4$cachingIterator = new CachingIterator($arrayIterator); 5 6$innerIterator = $cachingIterator->getInnerIterator(); 7 8?>
引数(parameters)
引数なし
引数はありません
戻り値(return)
Iterator
CachingIterator::getInnerIterator は、CachingIterator がラップしている元のイテレータを返します。これにより、キャッシュされたデータだけでなく、元のイテレータの機能も利用できます。