php迭代器的工作原理分析

2026-01-20 0 53,606

工作原理

1、在第一次迭代之前,运行iterator::rewind()方法。

只运行一次,返回迭代器的第一个要素,但该方法没有返回值

2、验证第一个元素是否有效。

验证方法可以定制。如果返回值是true,继续执行,如果返回值是false,迭代终止。

3、foreach继续调用Iterator。

返回指定要素的键和值。

4、foreach的方法体

var_dump($key,$value)

5、每次迭代后,调用Iterator决定下一个元素并重复第二步。

实例

string(18) "myIterator::rewind"      //迭代开始前调用rewind方法, 返回到迭代器的第一个元素, 同时执行$this->position = 1;
 
string(17) "myIterator::valid"      //验证当前元素$this->array[1]是否有效, 有效则继续执行;
 
string(19) "myIterator::current"    // 返回当前元素对应的值$this->array[0]='firstelement'
 
string(15) "myIterator::key"       // 返回当前元素的键$this->position = 1
 
int(1)                             //var_dump($key)
 
string(12) "secondelement"         //var_dump($value)
 
string(16) "myIterator::next"     //向前移动到下一个元素++$this->position=2
 
string(17) "myIterator::valid"    //验证当前元素$this->array[2]是否有效, 有效则继续执行;
 
string(19) "myIterator::current"  //重复之前的步骤
 
string(15) "myIterator::key"      //重复之前的步骤
 
int(2)                             //重复之前的步骤
 
string(11) "lastelement"           //重复之前的步骤   
 
string(16) "myIterator::next"      //向前移动到下一个元素++$this->position=3
 
string(17) "myIterator::valid"      //验证当前元素$this->array[3]是否有效, 无效则退出遍历

以上就是php迭代器的工作原理分析,希望对大家有所帮助。更多php学习指路:php教程

推荐操作系统:windows7系统、PHP5.6、DELL G3电脑

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:以上部本文内容由互联网用户自发贡献,本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。投诉邮箱:3758217903@qq.com

ZhiUp资源网 php教程 php迭代器的工作原理分析 https://www.zhiup.top/9582.html

相关