zoukankan      html  css  js  c++  java
  • Iterator(迭代器)接口 --对象循环遍历

    <?php
    class  MyIterator  implements  Iterator
    {
        private  $var  = array();
    
        public function  __construct ( $array )
        {
            if ( is_array ( $array ))
            {
                $this -> var  =  $array ;
            }
        }
        //返回到迭代器的第一个元素
        public function  rewind ()
        {
            echo  "rewinding返回到迭代器的第一个元素
    " ;
            reset ( $this -> var );
        }
    
        //返回当前元素
        public function  current ()
        {
            $var  =  current ( $this -> var );
            echo  "current返回当前元素:  $var 
    " ;
            return  $var ;
        }
        //返回当前元素的键
        public function  key ()
        {
            $var  =  key ( $this -> var );
            echo  "key返回当前元素的键:  $var 
    " ;
            return  $var ;
        }
        //向前移动到下一个元素
        public function  next ()
        {
            $var  =  next ( $this -> var );
            echo  "next向前移动到下一个元素:  $var 
    " ;
            return  $var ;
        }
        //检查当前位置是否有效
        public function  valid ()
        {
            $var  =  $this -> current () !==  false ;
            echo  "valid检查当前位置是否有效:  { $var } 
    " ;
            return  $var ;
        }
    }
    
    $values  = array( 1 , 2 , 3 );
    $it  = new  MyIterator ( $values );
    
    foreach ( $it  as  $a  =>  $b ) {
        print  " $a :  $b 
    " ;
    }
    ?>
  • 相关阅读:
    JS的运行机制
    Vue路由
    javascript的逼格
    Vue开发中遇到的问题及解决方案
    模块模式
    2019年终总结
    http知识总结
    小议函数的节流和防抖
    nodejs初探一二
    Object是个什么鬼
  • 原文地址:https://www.cnblogs.com/jiufen/p/4989411.html
Copyright © 2011-2022 走看看