返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php迭代器 是什么意思
  • 304
分享到

php迭代器 是什么意思

php迭代器 2014-12-31 10:12:56 304人浏览
摘要

php迭代器是一种PHP设计模式,是指可在内部迭代自己的外部迭代器或类的接口;迭代器模式可以在不需要了解内部实现的前提下,遍历一个聚合对象的内部元素。

本文操作环境:windows7系统、PHP7.1版、DELL G3电脑

php迭代器 是什么意思?

PHP 迭代器模式

迭代器:类继承php的Iterator接口,批量操作。

迭代器模式,在不需要了解内部实现的前提下,遍历一个聚合对象的内部元素。

相比传统的编程模式,迭代器模式可以隐藏遍历元素的所需操作。

接口Iterator

current() 返回当前元素

key() 返回当前元素的键

next() 向前移动到下一个元素

rewind() 返回到迭代器的第一个元素

class AllUser implements \Iterator
{
    protected $index = 0;
    protected $data = [];
    public function __construct()
    {
        $link = Mysqli_connect('192.168.0.91', 'root', '123', 'xxx');
        $rec = mysqli_query($link, 'select id from doc_admin');
        $this->data = mysqli_fetch_all($rec, MYSQLI_ASSOC);
    }
    //1 重置迭代器
    public function rewind()
    {
        $this->index = 0;
    }
xxx
    //2 验证迭代器是否有数据
    public function valid()
    {
        return $this->index < count($this->data);
    }
    //3 获取当前内容
    public function current()
    {
        $id = $this->data[$this->index];
        return User::find($id);
    }
    //4 移动key到下一个
    public function next()
    {
        return $this->index++;
    }
    //5 迭代器位置key
    public function key()
    {
        return $this->index;
    }
}
//实现迭代遍历用户表
$users = new AllUser();
//可实时修改
foreach ($users as $user){
    $user->add_time = time();
    $user->save();
}

Iterator(迭代器)接口:https://www.php.net/manual/zh/class.iterator.php

--结束END--

本文标题: php迭代器 是什么意思

本文链接: https://www.lsjlt.com/news/301.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 迭代器
    目录可迭代对象(掌握)总结迭代器对象(掌握)总结for循环原理(掌握)迭代器:迭 ...
    530
    2023-04-02
    迭代
  • python迭代器
    迭代器可以直接作用for循环的数据类型我们已经知道,可以直接作用for循环的数据类型有以下几种:  一类是集合数据类型 如:list、tuple、dict、set、str等;  一类是generator,包括生成器和带yield的gener ...
    196
    2023-04-02
    迭代 python
  • python 迭代器
    我们已经知道,可以直接作用于for循环的数据类型有以下几种:一类是集合数据类型,如list、tuple、dict、set、str等;一类是generator,包括生成器和带yield的generator function。这些可以直接作用于 ...
    133
    2023-04-02
    迭代 python
  • Python进阶:迭代器与迭代器切片
    2018-12-31 更新声明:切片系列文章本是分三篇写成,现已合并成一篇。合并后,修正了一些严重的错误(如自定义序列切片的部分),还对行文结构与章节衔接做了大量改动。原系列的单篇就不删除了,毕竟也是有单独成篇的作用。特此声明,请阅读改进版 ...
    627
    2023-04-02
    进阶 迭代 切片
  • 详解Python迭代和迭代器
    我们将要来学习python的重要概念迭代和迭代器,通过简单实用的例子如列表迭代器和xrange。可迭代一个对象,物理或者虚拟存储的序列。list,tuple,strins,dicttionary,set以及生成器对象都是可迭代的,整型数 ...
    904
    2023-04-02
    迭代 详解 Python
  • Python迭代和迭代器详解
    迭代器迭代器(iterator)有时又称游标(cursor)是程式设计的软件设计模式,可在容器物件(container,例如链表或阵列)上遍访的界面,设计人员无需关心容器物件的内存分配的实现细节。摘自维基百科也就是说迭代器类似于一个游 ...
    321
    2023-04-02
    迭代 详解 Python
  • 浅谈python迭代器
    1、yield,将函数变为 generator (生成器)例如:斐波那契数列def fib(num):a, b, c = 1, 0, 1    while a = num:yield cb, c = c, b + ca += 1for ...
    225
    2023-04-02
    浅谈 迭代 python
  • python iterator(迭代器)
    迭代:重复做一件事iterable(可迭代)对象:支持“每次仅返回自身所包含的其中一个元素”的对象iterable对象实现了__iter__方法     序列类型,如:list、str、tuple     非序列类型,如:dict、file ...
    769
    2023-04-02
    迭代 python iterator
  • Python之迭代器
    '''查看可对某个变量或数据类型执行的操作 : dir(var)迭代器 : 在同一个代码块中,依次取出可迭代对象中的每一个元素    特点 : 完全忽视可迭代对象的索引以及长度,只关注下一块内存是否有值;    实现原理(猜测) : 首先会 ...
    782
    2023-04-02
    迭代 Python
  • javascript迭代器怎么实现
    本篇内容主要讲解“javascript迭代器怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“javascript迭代器怎么实现”吧!在javascript中, ...
    152
    2023-04-02
    javascript
  • Javascript迭代器怎么用
    这篇文章给大家分享的是有关Javascript迭代器怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在JavaScript中,迭代器是一种设计模式,用于在容器对象上遍历,就是依次 ...
    448
    2023-04-02
    javascript
  • python迭代器资料整理
    相关概念定义迭代器(Iterator):满足迭代协议的对象就是迭代器iterator就是实现了Iteration Protocol的对象,这类对象都支持循环遍历的操作(for/while/支持迭代的函数list() sum()...)。 ...
    219
    2023-04-02
    迭代 资料 python
  • Python3 迭代器
    Python3 迭代器说明: 迭代器是一个可以记住遍历的位置的对象 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束 迭代器只能往前不会后退 字符串,列表或元组对象都可用于创建迭代器示例1: #!/usr/bin/pytho ...
    703
    2023-04-02
    迭代
  • Python的迭代器协议
    迭代器是Python中的一个高级概念,迭代器是一个实现了迭代器协议的对象,那何为迭代器协议呢?满足下面两个条件就行。(1)该对象实现了__iter__()方法;(2)该对象实现了next()方法,返回当前元素,并指向下一个元素的位置,如果当 ...
    925
    2023-04-02
    协议 迭代 Python
  • 006-Python迭代器
    什么是迭代器先说一些概念性的东西:可迭代对象:列表、元组、集合、字符串、bytes、bytearray、字典和生成器。有__iter__的对象叫可迭代对象;有__next__方法的可迭代对象叫迭代器。可迭代对象可以用在for in语句中;可 ...
    611
    2023-04-02
    迭代 Python
  • day12-迭代器
    内部含有_next_和_iter_方法的就是迭代器。    可以被for循环的都是可迭代的,只有是可迭代对象,才能用for循环。  可迭代的内部都有_iter_方法——可迭代协议。  只要是迭代器,一定可迭代。  若A是可迭代的,则A._i ...
    606
    2023-04-02
    迭代
  • Python18 迭代器
    迭代器可迭代就是可以被循环我们已经知道,可以直接作用于for循环的数据类型有以下几种:一类是集合数据类型,如list、tuple、dict、set、str等;一类是generator,包括生成器和带yield的generator funct ...
    812
    2023-04-02
    迭代
  • python高级-迭代器(18)
    一、什么是迭代器迭代是访问集合元素的⼀种⽅式。迭代器是⼀个可以记住遍历的位置的对象。迭代器对象从集合的第⼀个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退 二、可迭代对象直接作⽤于 for 循环的数据类型有以下⼏种:⼀类是 ...
    678
    2023-04-02
    高级 迭代 python
  • 迭代器执行流程
    迭代器的执行流程,以及说明可迭代对象不一定是迭代器,但迭代器一定是可迭代对象 实例1from collections import Iterable, Iteratorimport timeclass Classmate(object): ...
    752
    2023-04-02
    流程 迭代
  • Python 拓展之迭代器
    写在之前今天来讲讲「迭代器」的内容,其实已经拖了好多天了,感觉再不写就要忘记了。「迭代」相信对你来说已经不陌生了,我前面曾经专门用一篇文章来讲,如果你已经没有什么印象的话,就再点进去看看(零基础学习 Python 之初识迭代)。迭代器首先我 ...
    774
    2023-04-02
    迭代 Python
热门问答
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作