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

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

作成日: 更新日:

基本的な使い方

『nextメソッドは、イテレータの内部ポインタを次の要素へ移動させるために実行するメソッドです。RecursiveArrayIteratorクラスは、多次元配列などのデータ構造を再帰的に走査するための仕組みを提供します。このクラスのインスタンスは、内部に「現在どの要素を指しているか」を示すポインタを保持しており、nextメソッドはこのポインタを現在の要素から一つ先の要素に進める役割を担います。このメソッドはIteratorインターフェースで定められた基本的な振る舞いを実装したものであり、foreachループでRecursiveArrayIteratorのインスタンスを処理する場合、各反復の最後にこのnextメソッドがPHPによって内部的に呼び出されます。これにより、ループは自動的に次の要素へと進み、配列の全要素を順番に処理することが可能になります。注意点として、このメソッドは現在の配列階層における次の要素、すなわち兄弟要素へ移動するだけであり、子要素である配列の内部へ移動するわけではありません。子要素への再帰的な探索は、hasChildrengetChildrenといった他のメソッドと連携して実現されます。

構文(syntax)

1<?php
2$array = ["Apple", "Banana", "Cherry"];
3
4// 配列からイテレータを作成します
5$iterator = new RecursiveArrayIterator($array);
6
7// 現在、イテレータの内部ポインタは先頭の要素 "Apple" を指しています
8echo $iterator->current() . PHP_EOL;
9
10// next() を呼び出し、内部ポインタを次の要素 "Banana" に進めます
11$iterator->next();
12
13// ポインタが進んだ後の現在の要素 "Banana" を取得します
14echo $iterator->current() . PHP_EOL;

引数(parameters)

引数なし

引数はありません

戻り値(return)

void

現在の要素へのポインタを次に進めます。戻り値はありません。