(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)
}
}
}