แนะนำตัว
IteratorAggregate อินเทอร์เฟซขยายนามธรรม สำรวจได้ อินเตอร์เฟซ. มันถูกนำไปใช้โดยคลาสเพื่อสร้างตัววนซ้ำภายนอก อินเทอร์เฟซนี้แนะนำวิธีการนามธรรมที่เรียกว่า getIterator .
ไวยากรณ์
IteratorAggregate extends Traversable { /* Methods */ abstract public getIterator ( void ) : Traversable }
วิธีการ
IteratorAggregate::getIterator — Retrieve an external iterator
ฟังก์ชันนี้ไม่มีพารามิเตอร์และส่งคืนอินสแตนซ์ของวัตถุที่ใช้ Iterator หรือ Traversable
ตัวอย่าง IteratorAggregate
ในสคริปต์ PHP ต่อไปนี้ คลาสที่ใช้อินเทอร์เฟซ IteratorAggregate มีอาร์เรย์เป็นคุณสมบัติ getIterator () เมธอดส่งคืน ArrayIterator วัตถุออกจากอาร์เรย์นี้ เราสามารถสำรวจอาร์เรย์โดยใช้ foreach วนซ้ำ
ตัวอย่าง
<?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"; } ?>
ผลลัพธ์
traversal ของคุณสมบัติอาร์เรย์แสดงผลดังต่อไปนี้
0=>10 1=>20 2=>30 3=>40