php-迭代器
发布时间:2020-12-13 21:29:50 所属栏目:PHP教程 来源:网络整理
导读:说明:就像for和foreach一样实现迭代的功能。继承迭代器接口,就可以编写自定义的迭代器,其中定义的每个方法都有其意义 ? ?下面的demo只是实现了最简单的循环功能,如果实际业务中有更复杂的场景,也是可以胜任的 ? php class myIterator implements Iterat
说明:就像for和foreach一样实现迭代的功能。继承迭代器接口,就可以编写自定义的迭代器,其中定义的每个方法都有其意义 ? ?下面的demo只是实现了最简单的循环功能,如果实际业务中有更复杂的场景,也是可以胜任的 <?php class myIterator implements Iterator { private $arr; public function __construct($arr) { $this->arr = $arr; } function rewind() { #用于初始化,这个方法无论循环几次只运行一次 echo ‘begin</br>‘; } function current() { #该方法返回值作为value return current($this->arr); } function key() { #该方法返回值作为key return key($this->arr); } function next() { #在每一次循环结束时执行该方法,用于转接下一次循环,可以随便做点什么 next($this->arr); return true; } function valid() { #用于验证,该方法如果返回为false则退出循环 $vaild = current($this->arr) === false ? false : true; return $vaild; } } $arr = [‘a‘,‘b‘,‘c‘]; $it = new myIterator($arr); foreach($it as $key => $value) { echo $key . ‘_‘ . $value . ‘ ‘; } //结果:begin 0_a 1_b 2_c ?> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |