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

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

作成日: 更新日:

基本的な使い方

getIteratorClassメソッドは、ArrayObjectがforeachループなどで繰り返し処理をされる際に、内部で使用されるイテレータのクラス名を取得するメソッドです。ArrayObjectはオブジェクトでありながら配列のように振る舞うことができますが、その繰り返し処理は「イテレータ」という仕組みによって実現されています。このメソッドは、そのイテレータとしてどのクラスが使われるように設定されているか、そのクラス名を文字列として返します。通常、ArrayObjectのインスタンスを新しく作成した場合、デフォルトのイテレータであるArrayIteratorクラスが使用されるため、このメソッドは'ArrayIterator'という文字列を返します。関連するsetIteratorClassメソッドを使うと、繰り返し処理の動作をカスタマイズした独自のイテレータクラスを設定することが可能です。getIteratorClassメソッドは、そのようにカスタマイズされたクラス名や、デフォルトのクラス名を確認するために利用され、現在のオブジェクトがどのような振る舞いで繰り返し処理をされるかを知るのに役立ちます。

構文(syntax)

1<?php
2
3$arrayObject = new ArrayObject(['first' => 1, 'second' => 2]);
4
5$iteratorClassName = $arrayObject->getIteratorClass();
6
7var_dump($iteratorClassName);
8
9?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

string

ArrayObject オブジェクトが保持しているイテレータクラスの名前を文字列で返します。