(PHP 5 >= 5.1.0, PHP 7, PHP 8)
ArrayObject::setIteratorClass — Define a classe do iterador para o ArrayObject
Define o nome da classe do iterador de array que é usado por ArrayObject::getIterator().
iteratorClass
O nome da classe do iterador de array a ser usado ao iterar sobre este objeto.
Nenhum valor é retornado.
Exemplo #1 Exemplo de ArrayObject::setIteratorClass()
<?php
// ArrayIterator Personalizado (herda de ArrayIterator)
class MyArrayIterator extends ArrayIterator {
// implementação personalizada
}
// Array de frutas disponíveis
$fruits = array("lemons" => 1, "oranges" => 4, "bananas" => 5, "apples" => 10);
$fruitsArrayObject = new ArrayObject($fruits);
// Define a classe do iterador para a nova
$fruitsArrayObject->setIteratorClass('MyArrayIterator');
var_dump($fruitsArrayObject->getIterator());
?>
O exemplo acima produzirá:
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) } } }