欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php迭代器

程序员文章站 2024-02-14 23:25:10
...
implements Iterator , 实现Iterator 的 current(); next(); key(); valid(); rewind();

 1 php
 2/* 3 *先定义一个数组
 4 *定义第一个位置 $position = 0
 5 *然后返回key 和value,
 6 *指向下一个位置 ++$position
 7*/ 8class myIterator implements Iterator{
 9//先定义一个位置10private$position  = 0;
11private$array;
1213publicfunction __construct(array$array){
14$this->array = $array;
15        }
16/**
17         * 倒带第一个元素的迭代器
18         * @return void 任何返回值将被忽略.
19*/20publicfunctionrewind(){
21var_dump(__METHOD__);
22$this->position = 0;
23        }
24/**
25         * 检查当前位置是有效的
26         * @return boolean 返回值将bool型布尔,然后评估
27*/28publicfunction valid(){
29var_dump(__METHOD__);
30//判断数组第一个元素是否存在31returnisset($this->array[$this->position]);
32        }
33/**
34         * 返回当前元素
35         * @return mixed 可以返回任何类型。
36*/37publicfunctioncurrent(){
38var_dump(__METHOD__);
39//返回数组的第一个元素40return$this->array[$this->position];
41        }
42/**
43         * 返回当前元素的关键
44         * @return mixed 标量成功,或null失败
45*/46publicfunctionkey(){
47var_dump(__METHOD__);
48//返回数组第一个元素的key49return$this->position;
50        }
51/**
52         * 前进到下一个元素
53         * @return void 任何返回值将被忽略。
54*/55publicfunctionnext(){
56var_dump(__METHOD__);
57             ++ $this->position;
58        }
59    }
6061$array=[
62         "firstelement",
63         "secondeleent",
64         "lastelement"
65    ];
6667$it = new myIterator($array);
68foreach ($itas$key=>$value) {
69echo$key.' => '.$value;
70echo "
"; 71 }

执行结果:

php迭代器

以上就介绍了php迭代器,包括了Iterator,迭代器方面的内容,希望对PHP教程有兴趣的朋友有所帮助。