Get the App
SLTechnology News&Howtos  ›  Development  › 

How to understand php wrapper iterator

Shulou Source: shulou.com Published: 2022-06-03 01:59:56 10月03日 Update

This article introduces the knowledge of "how to understand php wrapper iterator". In the operation of actual cases, many people will encounter such a dilemma, so let the editor lead you to learn how to deal with these situations. I hope you can read it carefully and be able to achieve something!

1. It is also an iterator, and when it is instantiated, it needs to be passed to another iterator for internal storage, that is, the internal iterative InnerIterator.

2. The original iterator function can be upgraded by inheriting IteratorIterator.

The construction parameter must also be an iterator, and the parameter signature itself requires an object that implements the Traversable interface.

Example

Class OutIterator extends IteratorIterator {public function rewind () {echo _ METHOD__, PHP_EOL; return parent::rewind ();} public function valid () {echo _ METHOD__, PHP_EOL; return parent::valid ();} public function current () {echo _ METHOD__, PHP_EOL; return parent::current (). '_ suffix';} public function key () {echo _ METHOD__, PHP_EOL; return parent::key ();} public function next () {echo _ METHOD__, PHP_EOL; return parent::next ();} public function getInnerIterator () {echo _ METHOD__, PHP_EOL; return parent::getInnerIterator () }} $iterator = new OutIterator (new ArrayIterator ([1,2,3])); foreach ($iterator as $k = > $v) {echo $k,':', $v, PHP_EOL } / / OutIterator::rewind// OutIterator::valid// OutIterator::current// OutIterator::key// 0: 1_suffix// OutIterator::next// OutIterator::valid// OutIterator::current// OutIterator::key// 1: 2_suffix// OutIterator::next// OutIterator::valid// OutIterator::current// OutIterator::key// 2: 3_suffix// OutIterator::next// OutIterator::valid "how to understand the php wrapper iterator" ends here Thank you for your reading. If you want to know more about the industry, you can follow the website, the editor will output more high-quality practical articles for you!

Tags: Iteration packaging content parameters examples more knowledge practicality learning next function dilemma reality object that is situation interface article case ribbon Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno NVidia vpn OPPO Reno Xiaomi Microsoft