Rumah > pembangunan bahagian belakang > tutorial php > PHP设计模式之迭代器模式详解

PHP设计模式之迭代器模式详解

韦小宝
Lepaskan: 2023-03-17 14:32:01
asal
2001 orang telah melayarinya

迭代器模式在不需要了解内部的前提下,遍历一个聚合对象的内部元素,相比传统的编程模式,迭代器模式可以隐藏遍历元素的所有操作

`{`[~]5HUIA6J34Q[{C9FGG.png

<?php

/*
 * 迭代器模式
 */
class All implements \Iterator
{
    protected $ids;
    protected $index;

    public function __construct($data)
    {
        $this->ids = $data;
    }

    public function current() //获取当前的元素
    {
        return $this->ids[$this->index];
    }

    public function next() //获取下一个元素
    {
        $this->index++;
    }

    public function valid() //验证当下是否还有下一个元素
    {
        return $this->index < count($this->ids);
    }

    public function rewind() //重置迭代器指针
    {
        $this->index = 0;
    }

    public function key() //迭代器指针的位置
    {
        return $this->index;
    }
}

$arr = [&#39;1&#39;, &#39;2&#39;, &#39;4&#39;]; //客户端
$users = new All($arr);
foreach ($users as $user) {
    var_dump($user);
}
Salin selepas log masuk

迭代器模式是一种使用频率非常高的设计模式,通过引入迭代器可以将数据的遍历功能从聚对象中分离出来,聚合对象只负责存储数据,而遍历数据由迭代器来完成

相关推荐:

星际争霸之php迭代器模式

PHP变量引用 PHP迭代器模式(引用SPL实现)

php设计模式之观察者模式详解

Atas ialah kandungan terperinci PHP设计模式之迭代器模式详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan