Computer >> Máy Tính >  >> Lập trình >> PHP

Giao diện PHP IteratorAggregate

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