(PHP 5 >= 5.1.0, PHP 7, PHP 8)
ArrayObject::setIteratorClass — Définit le nom de la classe de l'itérateur pour l'objet ArrayObject
Définit le nom de la classe de l'itérateur du tableau, utilisé par ArrayObject::getIterator().
iteratorClassLe nom de la classe de l'itérateur à utiliser pour itérer sur cet objet.
Aucune valeur n'est retournée.
Exemple #1 Exemple avec ArrayObject::setIteratorClass()
<?php
// ArrayIterator personnalisé (hérite de ArrayIterator)
class MonArrayIterator extends ArrayIterator {
// implementation personnelle
}
// Liste de fruits
$fruits = array("citrons" => 1, "oranges" => 4, "bananes" => 5, "pommes" => 10);
$fruitsArrayObject = new ArrayObject($fruits);
// Affecte le nouveau nom de classe d'itération
$fruitsArrayObject->setIteratorClass('MonArrayIterator');
var_dump($fruitsArrayObject->getIterator());
?>L'exemple ci-dessus va afficher :
object(MonArrayIterator)#2 (1) {
["storage":"ArrayIterator":private]=>
object(ArrayObject)#1 (1) {
["storage":"ArrayObject":private]=>
array(4) {
["citrons"]=>
int(1)
["oranges"]=>
int(4)
["bananes"]=>
int(5)
["pommes"]=>
int(10)
}
}
}