Giới thiệu
IteratorAggregate giao diện mở rộng trừu tượng Có thể duyệt qua giao diện. Nó được thực hiện bởi một lớp để tạo trình lặp bên ngoài. Giao diện này giới thiệu về phương thức trừu tượng được gọi là getIterator .
Cú pháp
IteratorAggregate extends Traversable { /* Methods */ abstract public getIterator ( void ) : Traversable }
Phương pháp
IteratorAggregate::getIterator — Retrieve an external iterator
Hàm này không có tham số và trả về một thể hiện của một đối tượng đang triển khai Iterator hoặc Traversable.
Ví dụ về IteratorAggregate
Trong tập lệnh PHP sau, một lớp triển khai giao diện IteratorAggregate chứa một mảng dưới dạng thuộc tính getIterator () phương thức trả về ArrayIterator đối tượng ra khỏi mảng này. Chúng tôi có thể duyệt qua mảng bằng cách sử dụng foreach vòng lặp.
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"; } ?>
Đầu ra
duyệt thuộc tính mảng hiển thị kết quả sau
0=>10 1=>20 2=>30 3=>40