(PHP 5 >= 5.1.0, PHP 7, PHP 8)
ArrayObject::setIteratorClass — Устанавливает имя класса итератора для ArrayObject
Устанавливает имя класса итератора массива, которое используется ArrayObject::getIterator().
iteratorClassИмя класса итератора массива, который будет использоваться при итерации по этому объекту.
Функция не возвращает значения после выполнения.
Пример #1 Пример использования ArrayObject::setIteratorClass()
<?php
// Пользовательский ArrayIterator (включает в себя ArrayIterator)
class MyArrayIterator extends ArrayIterator {
    // пользовательская реализация
}
// Массив с количеством фруктов
$fruits = array("lemons" => 1, "oranges" => 4, "bananas" => 5, "apples" => 10);
$fruitsArrayObject = new ArrayObject($fruits);
// Устанавливает новое имя класса итератора
$fruitsArrayObject->setIteratorClass('MyArrayIterator');
var_dump($fruitsArrayObject->getIterator());
?>Результат выполнения приведённого примера:
object(MyArrayIterator)#2 (1) {
  ["storage":"ArrayIterator":private]=>
  object(ArrayObject)#1 (1) {
    ["storage":"ArrayObject":private]=>
    array(4) {
      ["lemons"]=>
      int(1)
      ["oranges"]=>
      int(4)
      ["bananas"]=>
      int(5)
      ["apples"]=>
      int(10)
    }
  }
}
