Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

PHP IteratorAggregate Interface

บทนำ

Interface IteratorAggregate extends abstract Traversable interface ถูก implement โดยคลาสเพื่อสร้าง external iterator Interface นี้มี abstract method หนึ่งชื่อ getIterator

ไวยากรณ์

IteratorAggregate extends Traversable { abstract public getIterator ( void ) : Traversable }

เมธอด

IteratorAggregate::getIterator - Retrieve an external iterator

ฟังก์ชันนี้ไม่มีพารามิเตอร์ และคืนค่า instance ของ object ที่ implement Iterator หรือ Traversable

IteratorAggregate Example

ใน PHP script ต่อไปนี้ คลาสที่ implement IteratorAggregate interface มีอาร์เรย์เป็น property เมธอด getIterator() คืนค่า object ArrayIterator จากอาร์เรย์นี้ สามารถวนลูปอาร์เรย์ด้วย foreach loop

ตัวอย่าง

<?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"; } ?>

ผลลัพธ์

การวนลูป property array แสดงผลดังนี้

0=>10 1=>20 2=>30 3=>40