【PHP8.x】getInnerIteratorメソッドの使い方
getInnerIteratorメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
『getInnerIteratorメソッドは、フィルタリングの対象となっている内部のイテレータオブジェクトを取得する処理を実行するメソッドです。RecursiveFilterIteratorクラスは、コンストラクタで指定された別のRecursiveIteratorオブジェクトを内包し、その要素をフィルタリングする機能を提供します。このgetInnerIteratorメソッドを呼び出すと、その内包されている、つまりフィルタリングされる前の元のイテレータオブジェクトそのものが返されます。このメソッドは、より基本的なIteratorIteratorクラスから継承されたものであり、フィルタ適用後のイテレータから、大元となるデータソースに再度アクセスしたい場合に役立ちます。例えば、フィルタリング処理とは別に、元のイテレータが持つ独自のメソッドを呼び出したり、内部状態を確認したりする必要がある際に便利です。これにより、フィルタ機能と元のデータ操作を分離しつつ、必要に応じて両者にアクセスすることが可能になります。』
構文(syntax)
1<?php 2 3$arrayIterator = new RecursiveArrayIterator(['value1', ['value2']]); 4 5$filterIterator = new class($arrayIterator) extends RecursiveFilterIterator { 6 public function accept(): bool 7 { 8 return true; 9 } 10}; 11 12$originalIterator = $filterIterator->getInnerIterator();
引数(parameters)
引数なし
引数はありません
戻り値(return)
RecursiveIterator
RecursiveIteratorインターフェースを実装したイテレータです。これは、RecursiveFilterIteratorがフィルタリングを行うために内部で使用している元のイテレータを表します。