• 技术文章 >PHP >PHP教程

    php迭代器的工作原理分析

    小妮浅浅小妮浅浅2021-07-02 14:19:25原创265

    工作原理

    1、在第一次迭代之前,运行iterator::rewind()方法,只运行一次,返回迭代器的第一个要素,但该方法没有返回值

    2、验证第一个元素是否有效。验证方法可以定制。如果返回值是true,继续执行,如果返回值是false,迭代终止。

    3、foreach继续调用Iterator:::current()和Iterator::key(),返回指定要素的键和值。

    4、foreach的方法体var_dump($key,$value)

    5、每行每次迭代后,调用Iterator::next()决定下一个元素并重复第二步。

    实例

    string(18) "myIterator::rewind"      //迭代开始前调用rewind方法, 返回到迭代器的第一个元素, 同时执行$this->position = 1;
     
    string(17) "myIterator::valid"      //验证当前元素$this->array[1]是否有效, 有效则继续执行;
     
    string(19) "myIterator::current"    // 返回当前元素对应的值$this->array[0]='firstelement'
     
    string(15) "myIterator::key"       // 返回当前元素的键$this->position = 1
     
    int(1)                             //var_dump($key)
     
    string(12) "secondelement"         //var_dump($value)
     
    string(16) "myIterator::next"     //向前移动到下一个元素++$this->position=2
     
    string(17) "myIterator::valid"    //验证当前元素$this->array[2]是否有效, 有效则继续执行;
     
    string(19) "myIterator::current"  //重复之前的步骤
     
    string(15) "myIterator::key"      //重复之前的步骤
     
    int(2)                             //重复之前的步骤
     
    string(11) "lastelement"           //重复之前的步骤   
     
    string(16) "myIterator::next"      //向前移动到下一个元素++$this->position=3
     
    string(17) "myIterator::valid"      //验证当前元素$this->array[3]是否有效, 无效则退出遍历

    以上就是php迭代器的工作原理分析,希望对大家有所帮助。更多php学习指路:php教程

    专题推荐:php迭代器
    品易云
    上一篇:php迭代器iterator的作用 下一篇:php聚合式迭代器是什么

    相关文章推荐

    • php中__sleep方法的使用• php中CLI模式是什么• php自动加载机制是什么• php实现自动加载的两种方法• php static的三种使用方法• php $this是什么意思• php中$this的就近原则• php数组中array_column()函数的使用• php数组array_multisort()函数是什么• php empty()函数的用法• php按值传递和引用传递的比较• php命令模式如何理解• php常量中两种定义方式的比较• php中foreach的使用• php迭代器iterator的作用

    全部评论我要评论

  • 取消发布评论
  • 

    Python学习网