首頁  >  文章  >  後端開發  >  關於PHP聚合式迭代器介面IteratorAggregate用法分享

關於PHP聚合式迭代器介面IteratorAggregate用法分享

小云云
小云云原創
2017-12-29 16:45:331630瀏覽

本文主要介紹了PHP聚合式迭代器介面IteratorAggregate用法,結合實例形式分析了聚合式迭代器介面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—IteratorAggregate介面

RxJava運算元(八)Aggregate_PHP教學

########################################################################## ####PHP - IteratorAggregate介面詳解#######

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

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