PHP Conference Japan 2024

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