Home >Backend Development >PHP Tutorial >Usage analysis of PHP aggregate iterator interface IteratorAggregate

Usage analysis of PHP aggregate iterator interface IteratorAggregate

jacklove
jackloveOriginal
2018-07-04 17:47:312671browse

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

The example in this article describes the usage of PHP aggregate iterator interface IteratorAggregate. Share it with everyone for your reference, the details are as follows:

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 )
}

When implementing the getIterator method, you must return 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 The iterator encapsulates the object or array into a class that can be operated through foreach. For details, please refer to the introduction of SPL iterator. Interested friends can follow the PHP Chinese website.

Articles you may be interested in:

Detailed explanation of the usage of PHP detection interface Traversable

PHP custom serialization interface Serializable usage analysis and explanation

Detailed explanation of how to use PHP's Opcache acceleration

The above is the detailed content of Usage analysis of PHP aggregate 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