php聚合式迭代器的基础知识点及实例代码
2022/3/31 8:19:37
本文主要是介绍php聚合式迭代器的基础知识点及实例代码,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
在本篇文章里小编给大家整理的是一篇关于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); //判断当前单元的键是否为空 }}
内容扩展:
<?phpclass 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聚合式迭代器的基础知识点及实例代码的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-11开源 PHP 商城项目 CRMEB 二次开发和部署教程
- 2024-11-09怎么使用php在kaufland平台刊登商品?-icode9专业技术文章分享
- 2024-11-05PHP的抽象类和接口是什么,有什么区别-icode9专业技术文章分享
- 2024-11-01开源 PHP 商城项目 CRMEB 安装和使用教程
- 2024-11-01用php和mysql写无限分类,有哪几种方法-icode9专业技术文章分享
- 2024-10-31php数据分表导出时部分数据无法导出什么原因-icode9专业技术文章分享
- 2024-10-30有经验的 PHP 开发者学习一门新的编程语言,有哪些推荐的有前景的语言-icode9专业技术文章分享
- 2024-10-21php 检测图片是否篡改过-icode9专业技术文章分享
- 2024-10-20fruitcake/php-cors 该怎么使用-icode9专业技术文章分享
- 2024-10-18PHP7.1可以使用哪个版本的swoole-icode9专业技术文章分享