แนะนำตัว
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