Home  >  Article  >  Backend Development  >  Sharing on usage of PHP aggregated iterator interface IteratorAggregate

Sharing on usage of PHP aggregated iterator interface IteratorAggregate

小云云
小云云Original
2017-12-29 16:45:331671browse

This article mainly introduces the usage of the PHP aggregate iterator interface IteratorAggregate, and analyzes the concept, function, definition and usage of the aggregate iterator interface IteratorAggregate in the form of examples. Friends in need can refer to it. I hope it can help everyone.

PHP IteratorAggregate is also called an aggregate iterator. It provides an interface for creating external iterators. The interface summary is as follows:


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

Must be implemented when implementing the getIterator method Returns an instance of a class that implements the Iterator interface.

Example description:


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

The above example output:


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 iterator will The object or array is encapsulated into a class that can be operated through foreach. For details, please refer to the introduction of SPL iterators.

Related recommendations:

php—IteratorAggregate interface

RxJava operator (8) Aggregate_PHP tutorial

PHP - Detailed explanation of IteratorAggregate interface

The above is the detailed content of Sharing on usage of PHP aggregated iterator interface IteratorAggregate. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn