统计
  • 建站日期:2018-10-21
  • 文章总数:45 篇
  • 评论总数:23 条
  • 分类总数:13 个
  • 最后更新:1月20日
热文PHP

php迭代器

本文阅读 1 分钟
class Season implements Iterator{
    private $position = 0;//指针指向0
    private $arr = array('一','二','三','四');
    //重置迭代器
    public function rewind(){
        return $this -> position = 0;
    }
    //验证迭代器是否有数据
    public function valid() {
//        return isset($this -> arr[$this -> position]);
        return $this->position<count($this->arr);
    }
    //获取当前内容
    public function current(){
        return $this -> arr[$this -> position];
    }
    //获取迭代器位置key
    public function key(){
        return $this -> position;
    }
    //移动key到下一个
    public function next() {
        ++$this -> position;
    }
}
$obj = new Season();
foreach ($obj as $k => $v){
    echo $k.':'.$v.'<br>';
}

结果:

0:一
1:二
2:三
3:四

php有对数组指针的操作,可不用定义$position

1.key();从关联数组中取得键名,没有取到返回NULL
2.current();返回数组中当前单元
3.next();将数组中的内部指针向前移动一位
4.prev();将数组的内部指针倒回一位
5.reset();将数组的内部指针指向第一个单元
6.end();将数组的内部指针指向最后一个单元

本文来自投稿,不代表本站立场,如若转载,请注明出处:https://blog.gaobinzhan.com/archives/21.html
PHP实现链式操作
« 上一篇 12-22
php SPL四种常用的数据结构
下一篇 » 12-25

发表评论

成为第一个评论的人