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