zoukankan      html  css  js  c++  java
  • 实现 IteratorAggregate接口

    <?php


    class MyIterator implements Iterator{


    private $var = array();

    public function __construct($array){

    if(is_array($array)){

    $this->var = $array;

    }

    }

    public function rewind(){

    reset($this->var);

    }
    public function current(){

    $var = current($this->var);

    return $var;

    }

    public function key(){

    $var = key($this->var);

    return $var;


    }

    public function next(){

    $var = next($this->var);


    return $var;

    }

    public function valid(){

    $var = $this->current() !== false;

    return $var;


    }

    }

    class Myclloection implements IteratorAggregate{


    private $items = array();

    private $count = 0;


    public function getIterator(){

    return new MyIterator($this->items);

    }

    public function add ($value){

    $this->items[$this->count++] = $value;

    }

    }

    $coll = new Myclloection();

    $coll->add('value1');
    $coll->add('value2');
    $coll->add('value3');

    foreach ($coll as $key =>$val){

    echo "key/value: [$key -> $val]<br>";

    }

    ?>

  • 相关阅读:
    grafana邮箱配置
    grafana集群配置
    CentOS7 配置OOM监控报警
    Mycat使用配置实践
    CentOS7安装JAVA环境
    CentOS7安装MYCAT中间件
    CentOS7安装MySQL5.6
    Mockingbird
    堆的建立与功能实现
    Matlab解决线性规划问题
  • 原文地址:https://www.cnblogs.com/paulversion/p/8948099.html
Copyright © 2011-2022 走看看