加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_韶关站长网 (https://www.0751zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP迭代器和迭代的实 现与使用方法分析

发布时间:2023-02-13 10:43:38 所属栏目:PHP教程 来源:
导读:  本篇章节讲解PHP迭代器和迭代的实现与使用方法。分享给大家供大家参考,具体如下:

  PHP的面向对象引擎提供了一个非常聪明的特性,就是,可以使用foreach()方法通过循环方式取出一个对象的所有属性,就像
  本篇章节讲解PHP迭代器和迭代的实现与使用方法。分享给大家供大家参考,具体如下:
 
  PHP的面向对象引擎提供了一个非常聪明的特性,就是,可以使用foreach()方法通过循环方式取出一个对象的所有属性,就像数组方式一样,代码如下:
 
  '.$val){ echo '$'.$key.' = '.$val."
  "; } /*返回 $a = php $b = onethink $c = thinkphp */
  如果需要实现更加复杂的行为,可以通过一个iterator(迭代器)来实现
 
  obj = $obj; $this->count = count($this->obj->data); } function rewind(){ $this->current = 0; } function valid(){ return $this->current < $this->count; } function key(){ return $this->current; } function value(){ return $this->obj->data[$this->current]; } function next(){ $this->current++; } } interface MyAggregate{ //获取迭代器 function getIterator(); } class MyObject implements MyAggregate{ public $data = array(); function __construct($in){ $this->data = $in; } function getIterator(){ return new ObjectIterator($this); } } //迭代器的用法 $arr = array(2,4,6,8,10); $myobject = new MyObject($arr); $myiterator = $myobject->getIterator(); for($myiterator->rewind();$myiterator->valid();$myiterator->next()){ $key = $myiterator->key(); $value = $myiterator->value(); echo $key.'=>'.$value; echo "
  "; } /*返回 0=>2 1=>4 2=>6 3=>8 4=>10 */
 

(编辑:云计算网_韶关站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!