PHP聚合式迭代器接口IteratorAggregate用法分析


Posted in PHP onDecember 28, 2017

本文实例讲述了PHP聚合式迭代器接口IteratorAggregate用法。分享给大家供大家参考,具体如下:

PHP IteratorAggregate又叫聚合式迭代器,它提供了创建外部迭代器的接口,接口摘要如下:

IteratorAggregate extends Traversable {
  abstract public Traversable getIterator ( void )
}

实现getIterator方法时必须返回一个实现了Iterator接口的类的实例。

例子说明:

<?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";
}
?>

以上例子输出:

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迭代器会把对象或数组封装为一个可以通过foreach来操作的类,具体可参考SPL 迭代器相关介绍,感兴趣的朋友可参考本站https://3water.com/article/43074.htm。

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
php MySQL与分页效率
Jun 04 PHP
PHP 简单日历实现代码
Oct 28 PHP
IIS安装Apache伪静态插件的具体操作图文
Jul 01 PHP
PHP随机生成随机个数的字母组合示例
Jan 14 PHP
Smarty模板学习笔记之Smarty简介
May 20 PHP
php中数字、字符与对象判断函数用法实例
Nov 26 PHP
linux中cd命令使用详解
Jan 08 PHP
yii插入数据库防并发的简单代码
May 27 PHP
PHP实现一个多功能购物网站的案例
Sep 13 PHP
PHP常用工具函数小结【移除XSS攻击、UTF8与GBK编码转换等】
Apr 27 PHP
laravel 输出最后执行sql 附:whereIn的使用方法
Oct 10 PHP
详解laravel passport OAuth2.0的4种模式
Nov 04 PHP
PHP迭代器接口Iterator用法分析
Dec 28 #PHP
PHP数组式访问接口ArrayAccess用法分析
Dec 28 #PHP
PHP获取数组中指定的一列实例
Dec 27 #PHP
快速解决PHP调用Word组件DCOM权限的问题
Dec 27 #PHP
详解Yaf框架PHPUnit集成测试方法
Dec 27 #PHP
Laravel中使用Queue的最基本操作教程
Dec 27 #PHP
php获取ajax的headers方法与内容实例
Dec 27 #PHP
You might like
法国:浪漫之都的咖啡文化
2021/03/03 咖啡文化
常用PHP框架功能对照表
2014/10/23 PHP
php定义参数数量可变的函数用法实例
2015/03/16 PHP
php无限分类使用concat如何实现
2015/11/05 PHP
PHP读取Excel类文件
2017/05/15 PHP
Jquery 弹出层插件实现代码
2009/10/24 Javascript
JS遮罩层效果 兼容ie firefox jQuery遮罩层
2010/07/26 Javascript
在jQuery 1.5中使用deferred对象的代码(翻译)
2011/03/10 Javascript
jQuery使用CSS()方法给指定元素同时设置多个样式
2015/03/26 Javascript
基于jquery实现复选框全选,反选,全不选等功能
2015/10/16 Javascript
详解JavaScript RegExp对象
2017/02/04 Javascript
React Native 集成jpush-react-native的示例代码
2017/08/16 Javascript
vue+element实现打印页面功能
2019/05/20 Javascript
JS变量提升及函数提升实例解析
2020/09/03 Javascript
Vue+scss白天和夜间模式切换功能的实现方法
2021/01/05 Vue.js
python实现网页链接提取的方法分享
2014/02/25 Python
Python实现的数据结构与算法之快速排序详解
2015/04/22 Python
Python的Flask框架应用调用Redis队列数据的方法
2016/06/06 Python
Python中模块pymysql查询结果后如何获取字段列表
2017/06/05 Python
Python装饰器用法实例总结
2018/02/07 Python
基于python绘制科赫雪花
2018/06/22 Python
python中sys.argv函数精简概括
2018/07/08 Python
浅谈tensorflow中几个随机函数的用法
2018/07/27 Python
Python设计模式之组合模式原理与用法实例分析
2019/01/11 Python
python过滤中英文标点符号的实例代码
2019/07/15 Python
Python视频编辑库MoviePy的使用
2020/04/01 Python
离线状态下在jupyter notebook中使用plotly实例
2020/04/24 Python
基于Python第三方插件实现西游记章节标注汉语拼音的方法
2020/05/22 Python
解决阿里云邮件发送不能使用25端口问题
2020/08/07 Python
总监职责范文
2013/11/09 职场文书
班子四风对照检查材料
2014/08/21 职场文书
水利局群众路线专题民主生活会发言材料
2014/09/21 职场文书
社区好人好事材料
2014/12/26 职场文书
公司保洁员岗位职责
2015/02/13 职场文书
四大名著读书笔记
2015/06/25 职场文书
Go语言入门exec的基本使用
2022/05/20 Golang