Giới thiệu
Interface IteratorAggregate kế thừa interface trừu tượng Traversable. Triển khai bởi class để tạo iterator bên ngoài. Interface này giới thiệu phương thức trừu tượng getIterator.
Cú pháp
IteratorAggregate extends Traversable { abstract public getIterator ( void ) : Traversable }Phương thức
IteratorAggregate::getIterator - Lấy iterator bên ngoài
Hàm không tham số, trả về instance của object triển khai Iterator hoặc Traversable.
Ví dụ IteratorAggregate
Script PHP: class triển khai IteratorAggregate chứa mảng làm thuộc tính. Phương thức getIterator() trả về đối tượng ArrayIterator từ mảng này. Duyệt mảng bằng foreach.
Ví dụ
<?php class myIterator implements IteratorAggregate { public $arr; public function __construct() { $this->arr = array(10, 20, 30, 40); } public function getIterator() { return new ArrayIterator($this->arr); } } $obj = new myIterator(); foreach ($obj as $key => $value) { echo $key . " => " . $value . "\n"; } ?>Kết quả
0 => 10 1 => 20 2 => 30 3 => 40