php聚合式迭代器的基础知识点及实例代码

admin3年前PHP教程26

说明

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聚合式迭代器是什么内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

显卡服务器它具有哪些特性和优势香港显卡服务器租用哪里有

显卡服务器又叫GPU服务器,GPU服务器是一种用于计算机科学技术领域的计算机及其配套设备,它的主要功能是:地理空间数据的3D可视化,视频稳像、过滤、马赛克、转码等应用研究与教育,例如成像和处理、结构化...

东南亚服务器为什么这么受欢迎

东南亚服务器受欢迎的原因如下:地理位置优势:东南亚离中国、日本、韩国和澳大利亚等地都比较近,而且区域内国家较多,人口数量众多,这为跨境业务拓展提供了很大的机会。更快的网站速度:使用东南亚服务器可以有效...

如何用PHP导出PDF

目录准备工作简介TCPDF说明文档代码实现准备工作首先查询了相关的类库,有FPDF,zendPDF,TcPDF等等。首先看了下先选择了FPDF,可以说除了中文字符以外没有什么问题,中文乱码而且看了下最...

python编程(新手怎么学代码编程)

python编程跟着互联网的迅速发展,新技术不断创新,万物互联的时代,企业对IT人员的需求不断增加,许多想要进入IT行业的小伙伴经常会诉苦,想入门,却不知道从哪下手。最近就有不少小伙伴和小编诉苦:“我...

显卡服务器好在什么地方江西显卡服务器有什么优点

加显卡的服务器也叫gpu服务器,可以为服务器承担输出显示图形的任务。一般可用于搭建手机模拟器、蓝叠,逍遥,雷电,夜神等。用于手机游戏挂机和自动化脚本运行。其内置的并行计算能力现阶段也用于深度学习等运算...

php中get_object_vars()在数组的实例用法

在php中有一些函数,是为了数组的使用而辅助的。本篇要提到的是get_object_vars(),咋子函数的名称上大家会觉得有些复杂,不过在返回关联数组上,是经常会用到的函数方法。下面我们对php中g...