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 '<br>';// Linux:echo "\n"; } ?>
The above example output:
string 'one' (length=3) string 'Public property one' (length=19) string 'two' (length=3) string 'Public property two' (length=19) string 'three' (length=5) string 'Public property three' (length=21) string 'last' (length=4) string 'last property' (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!