首頁 >後端開發 >php教程 >PHP聚合式迭代器介面IteratorAggregate的用法分析

PHP聚合式迭代器介面IteratorAggregate的用法分析

jacklove
jacklove原創
2018-07-04 17:47:312656瀏覽

這篇文章主要介紹了PHP聚合式迭代器介面IteratorAggregate用法,結合實例形式分析了聚合式迭代器介面IteratorAggregate的概念、功能、定義及使用方法,需要的朋友可以參考下

本文實例講述了PHP聚合式迭代器介面IteratorAggregate用法。分享給大家供大家參考,具體如下:

PHP IteratorAggregate又叫聚合式迭代器,它提供了創建外部迭代器的接口,接口摘要如下:

##

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

實作getIterator方法時必須傳回一個實作了Iterator介面的類別的實例。

範例說明:

<?php
/**
 * 利用聚合式迭代器,并返回一个实现了Iterator接口的类的实例
 *
 * @author 疯狂老司机
 */
class myData implements IteratorAggregate {
  public $one = "Public property one";
  public $two = "Public property two";
  public $three = "Public property three";
  public function __construct() {
    $this->last = "last property";
  }
  public function getIterator() {
    return new ArrayIterator($this);
  }
}
$obj = new myData;
foreach($obj as $key => $value) {
  var_dump($key, $value);
  echo &#39;<br>&#39;;// Linux:echo "\n";
}
?>

以上範例輸出:

string &#39;one&#39; (length=3)
string &#39;Public property one&#39; (length=19)
string &#39;two&#39; (length=3)
string &#39;Public property two&#39; (length=19)
string &#39;three&#39; (length=5)
string &#39;Public property three&#39; (length=21)
string &#39;last&#39; (length=4)
string &#39;last property&#39; (length=13)

ArrayIterator迭代器會把物件或陣列封裝為一個可以透過foreach來操作的類,具體可參考SPL 迭代器相關介紹,有興趣的朋友可關注php中文網。

您可能感興趣的文章:

PHP偵測介面Traversable的用法詳解

PHP自訂序列化介面Serializable用法分析解說

PHP 的Opcache加速的使用方法詳解

#

以上是PHP聚合式迭代器介面IteratorAggregate的用法分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn