2024 日本 PHP 研討會

ArrayObject::setIteratorClass

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

ArrayObject::setIteratorClass設定 ArrayObject 的迭代器類別名稱

說明

public ArrayObject::setIteratorClass(string $iteratorClass): void

設定 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)
    }
  }
}

新增註釋

使用者貢獻的註釋

此頁面沒有使用者貢獻的註釋。
To Top