{site_name}

{site_name}

🌜 搜索

在 PHP 中,ArrayObject::getIteratorClass 方法

php 𝄐 0
php arrayobject
在 PHP 中,ArrayObject::getIteratorClass 方法用于获取用于迭代 ArrayObject 对象的迭代器类。

使用该方法,您可以指定自定义的迭代器类来迭代 ArrayObject 对象。如果没有指定,则默认返回ArrayIterator类。

下面是一个示例:

php
class MyIterator implements Iterator {
private $position = 0;
private $array;

public function __construct($array) {
$this->array = $array;
}

public function rewind() {
$this->position = 0;
}

public function current() {
return $this->array[$this->position];
}

public function key() {
return $this->position;
}

public function next() {
++$this->position;
}

public function valid() {
return isset($this->array[$this->position]);
}
}

$array = new ArrayObject([1, 2, 3]);
$array->setIteratorClass('MyIterator');

$it = $array->getIterator();
foreach($it as $key=>$value){
echo $key . ": " . $value . PHP_EOL;
}


在这个示例中,我们定义了一个自定义的迭代器类 MyIterator,并将其设置为 ArrayObject 对象的迭代器类。然后,我们使用 getIterator 方法获取迭代器对象,并使用 foreach 循环迭代 ArrayObject 对象。通过输出,我们可以看到自定义的迭代器类被正常使用。

希望以上内容对您有所帮助!