array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ja', ), 'this' => array ( 0 => 'spldoublylinkedlist.setiteratormode.php', 1 => 'SplDoublyLinkedList::setIteratorMode', ), 'up' => array ( 0 => 'class.spldoublylinkedlist.php', 1 => 'SplDoublyLinkedList', ), 'prev' => array ( 0 => 'spldoublylinkedlist.serialize.php', 1 => 'SplDoublyLinkedList::serialize', ), 'next' => array ( 0 => 'spldoublylinkedlist.shift.php', 1 => 'SplDoublyLinkedList::shift', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ja', 'path' => 'reference/spl/spldoublylinkedlist/setiteratormode.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 5 >= 5.3.0, PHP 7, PHP 8)
SplDoublyLinkedList::setIteratorMode — 反復処理のモードを設定する
mode
次の 2 種類の直交するモードを設定できます。
SplDoublyLinkedList::IT_MODE_LIFO
(スタック方式)SplDoublyLinkedList::IT_MODE_FIFO
(キュー方式)SplDoublyLinkedList::IT_MODE_DELETE
(イテレータが要素を削除する)SplDoublyLinkedList::IT_MODE_KEEP
(イテレータが要素を順にたどる)
デフォルトのモードは SplDoublyLinkedList::IT_MODE_FIFO
| SplDoublyLnkedList::IT_MODE_KEEP
です。
SplStack と SplQueue においては、反復処理の方向は変更できません。
これらのクラスでは、反復処理の方向は常に SplDoublyLinkedList::IT_MODE_FIFO
になります。
この値を変更しようとすると、RuntimeException がスローされます。
反復処理に影響する、異なるモードとフラグの値を返します。