【PHP8.x】SplDoublyLinkedList::getIteratorMode()メソッドの使い方
getIteratorModeメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
getIteratorModeメソッドは、SplDoublyLinkedListクラスのインスタンスに設定されているイテレータの現在の動作モードを取得するメソッドです。
SplDoublyLinkedListは、要素を両端から効率的に追加・削除できる双方向連結リストであり、その要素を順番に走査(巡回)するためにイテレータという機能を提供しています。このイテレータがどのように要素を走査し、どのように要素を扱うかという動作は、特定のモードによって制御されます。
本メソッドは、現在設定されているイテレータのモードを整数値として返します。このモードは、以下の二つの側面から構成されます。一つは走査の方向で、リストの先頭から末尾へ要素を取り出す「先入れ先出し(FIFO)」モードか、末尾から先頭へ要素を取り出す「後入れ先出し(LIFO)」モードかのどちらかです。もう一つは、要素の扱い方で、イテレータが要素を一つ取り出すたびにリストからその要素を削除する「削除(IT_MODE_DELETE)」モードか、要素を削除せずにリストに保持する「保持(IT_MODE_KEEP)」モードかのどちらかです。
具体的には、SplDoublyLinkedList::IT_MODE_FIFO、SplDoublyLinkedList::IT_MODE_LIFO、SplDoublyLinkedList::IT_MODE_DELETE、SplDoublyLinkedList::IT_MODE_KEEPといった定数のビット論理和で構成された値が返されます。このメソッドを使用することで、リストのイテレータが現在どのような振る舞いをするように設定されているかを確認することができます。例えば、スタックとして利用しているリストのイテレータが、実際に後入れ先出しモードで動作しているかを確認する際などに役立ちます。イテレータのモードは、setIteratorModeメソッドで変更することが可能です。
構文(syntax)
1<?php 2$list = new SplDoublyLinkedList(); 3$mode = $list->getIteratorMode();
引数(parameters)
引数なし
引数はありません
戻り値(return)
int
SplDoublyLinkedList::getIteratorMode() は、イテレータがリストをどのように走査するかを示す整数値を返します。