【PHP8.x】beginIterationメソッドの使い方
beginIterationメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
beginIterationメソッドは、RecursiveTreeIteratorによる繰り返し処理(イテレーション)が開始される際に、内部的に呼び出されるメソッドです。このメソッドは、RecursiveTreeIteratorが扱う再帰的なデータ構造をツリー形式で表示する処理の、まさに一番最初に実行されます。例えば、foreachループを使用してRecursiveTreeIteratorのインスタンスの各要素を順番に処理する場合、ループが開始されて最初の要素にアクセスする直前に、このbeginIterationメソッドが一度だけ自動的に呼び出されます。通常、開発者がこのメソッドを直接呼び出すことはありませんが、RecursiveTreeIteratorの内部的な動作を理解する上で重要な部分です。主な役割は、ツリー全体の描画を開始するための初期化処理を行うことであり、イテレーションのライフサイクルにおける「開始」の合図として機能します。処理の終了時に呼び出されるendIterationメソッドと対になっており、繰り返し処理全体の開始と終了を管理する役割を担っています。
構文(syntax)
1<?php 2class MyTreeIterator extends RecursiveTreeIterator 3{ 4 public function beginIteration(): void 5 { 6 echo "イテレーションを開始します。" . PHP_EOL; 7 } 8} 9 10$data = new RecursiveArrayIterator([ 11 'A', 12 'B' => [ 13 'C', 14 'D', 15 ], 16 'E' 17]); 18 19$iterator = new MyTreeIterator($data); 20 21// foreachで処理を開始すると、beginIteration()が自動的に呼び出されます。 22foreach ($iterator as $item) { 23 echo $iterator->getPrefix() . $item . PHP_EOL; 24} 25?>
引数(parameters)
引数なし
引数はありません
戻り値(return)
戻り値なし
戻り値はありません