array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'arrayobject.setiteratorclass.php', 1 => 'ArrayObject::setIteratorClass', ), 'up' => array ( 0 => 'class.arrayobject.php', 1 => 'ArrayObject', ), 'prev' => array ( 0 => 'arrayobject.setflags.php', 1 => 'ArrayObject::setFlags', ), 'next' => array ( 0 => 'arrayobject.uasort.php', 1 => 'ArrayObject::uasort', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'reference/spl/arrayobject/setiteratorclass.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(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');
print_r($fruitsArrayObject->getIterator());
?>
Результат выполнения приведённого примера:
MyArrayIterator Object ( [lemons] => 1 [oranges] => 4 [bananas] => 5 [apples] => 10 )