php聚合式迭代器的基础知识点及实例代码
时间:2021-12-26
来源:互联网
在手机上看
手机扫描阅读
在本篇文章里小编给大家整理的是一篇关于php聚合式迭代器的基础知识点及实例代码,有兴趣的朋友们可以学习参考下。
说明
1、实现其他迭代器功能的接口,相当于在其他迭代器上安装一个外壳,只有一种方法。
2、聚合迭代器可以与许多迭代器结合,实现更高效的迭代。
实例
class MainIterator implements Iterator { private $var = array(); public function __construct($array) //构造函数, 初始化对象数组 { if (is_array($array)) { $this->var = $array; } } public function rewind() { echo "rewinding\n"; reset($this->var); //将数组的内部指针指向第一个单元 } public function current() { $var = current($this->var); // 返回数组中的当前值 echo "current: $var\n"; return $var; } public function key() { $var = key($this->var); //返回数组中内部指针指向的当前单元的键名 echo "key: $var\n"; return $var; } public function next() { $var = next($this->var); //返回数组内部指针指向的下一个单元的值 echo "next: $var\n"; return $var; } public function valid() { return !is_null(key($this->var); //判断当前单元的键是否为空 } }
内容扩展:
<?php class myData implements IteratorAggregate { public $property1 = "Public property one"; public $property2 = "Public property two"; public $property3 = "Public property three"; public function __construct() { $this->property4 = "last property"; } public function getIterator() { return new ArrayIterator($this); } } $obj = new myData; foreach($obj as $key => $value) { var_dump($key, $value); echo "\n"; } ?>
以上例程的输出类似于:
string(9) "property1"
string(19) "Public property one"string(9) "property2"
string(19) "Public property two"string(9) "property3"
string(21) "Public property three"string(9) "property4"
string(13) "last property"
到此这篇关于php聚合式迭代器的基础知识点及实例代码的文章就介绍到这了,更多相关php聚合式迭代器是什么内容请搜索PHP爱好者以前的文章或继续浏览下面的相关文章希望大家以后多多支持PHP爱好者!
相关阅读 更多
-
OKX Web3钱包使用教程:创建、充值、转账、币种管理及参与DeFi教学 时间:2025-04-30
-
Web3钱包密码忘记了怎么办?能找回吗?如何创建并使用Web3钱包? 时间:2025-04-30
-
不同链的钱包怎么跨链转账?两种不同链的钱包转账方法详解 时间:2025-04-30
-
Web3钱包怎么授权?Web3钱包授权了未知名项目怎么办? 时间:2025-04-30
-
Solana(SOL)十大最佳钱包盘点(2025最新) 时间:2025-04-30
-
币圈新人如何创建使用币安钱包?币安钱包图文教程 时间:2025-04-30
今日更新
-
php使用workman框架实现socket服务以及连接客户端
阅读:18
-
PHP中针对区域语言标记信息的操作
阅读:18
-
用php如何解决大文件分片上传问题
阅读:18
-
eval(cmd)与eval($cmd)的区别与联系
阅读:18
-
Linux服务器配置PHP文件下载,中文乱码问题,下载出错如何解决
阅读:18
-
laravel结合vue添加权限的实现示例
阅读:18
-
php安装grpc扩展的具体步骤
阅读:18
-
解析PHP中Exception异常机制
阅读:18
-
thinkphp5.1 中使用自定义异常处理类进行接管
阅读:18
-
PHP局部异常因子算法-Local Outlier Factor(LOF)算法的具体实现解析
阅读:18