LonghornPHP 2026

ArrayObject::getIterator

(PHP 5, PHP 7, PHP 8)

ArrayObject::getIteratorСоздаёт новый итератор из экземпляра класса ArrayObject

Описание

public function ArrayObject::getIterator(): Iterator

Метод создаёт новый итератор для перебора элементов массива, который объект ArrayObject хранит внутренне. Метод возвращает или итератор по умолчанию — ArrayIterator , или итератор, который определили в конструкторе класса объекта массива. Итератор, который возвращается методом, реализует интерфейс Iterator .

Список параметров

Сигнатура функции не содержит параметров.

Возвращаемые значения

Метод возвращает итератор из объекта ArrayObject .

Примеры

Пример #1 Пример создания итератора методом ArrayObject::getIterator()

<?php
$array = [
 '1' => 'one',
 '2' => 'two',
 '3' => 'three',
];
$arrayobject = new ArrayObject($array);
$iterator = $arrayobject->getIterator();
while ($iterator->valid()) {
 echo $iterator->key() . ' => ' . $iterator->current() . "\n";
 $iterator->next();
}
?>

Результат выполнения приведённого примера:

1 => one
2 => two
3 => three

Нашли ошибку?

ИнструкцияИсправлениеСообщение об ошибке
+Добавить

Примечания пользователей 1 note

up
0
doug at centraldesktop
12 years ago
ArrayObject iterator class requires a child of ArrayObject or ArrayIterator
<?php
class MyIterator implements Iterator {
 public
 function __construct(ArrayObject $array, $flags = 0) {
 // ...
 }
 public 
 function current() {
 // ..
 }
 public 
 function next() {
 // ..
 }
 public 
 function key() {
 // ..
 }
 public 
 function valid() {
 // ..
 }
 public 
 function rewind() {
 // ..
 } 
}
$obj = new ArrayObject(array(), 0, 'MyIterator');
$obj->getIterator();
?>

PHP Fatal error: ArrayObject::getIterator(): Internal compiler error, Class is not child of ArrayObject or ArrayIterator in php shell code on line 1
+Добавить

AltStyle によって変換されたページ (->オリジナル) /