程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php迭代器,php代器

php迭代器,php代器

編輯:關於PHP編程

php迭代器,php代器


implements Iterator , 實現Iterator 的 current(); next(); key(); valid(); rewind();

 1 <?php
 2 /*
 3  *先定義一個數組
 4  *定義第一個位置 $position = 0
 5  *然後返回key 和value,
 6  *指向下一個位置 ++$position
 7  */  
 8 class myIterator implements Iterator{
 9         //先定義一個位置
10         private $position  = 0;
11         private $array;
12 
13         public function __construct(array $array){
14             $this->array = $array;
15         }
16         /**
17          * 倒帶第一個元素的迭代器
18          * @return void 任何返回值將被忽略.
19          */
20         public function rewind(){
21             var_dump(__METHOD__);
22             $this->position = 0;
23         }
24         /**
25          * 檢查當前位置是有效的
26          * @return boolean 返回值將bool型布爾,然後評估
27          */
28         public function valid(){
29             var_dump(__METHOD__);
30             //判斷數組第一個元素是否存在
31             return isset($this->array[$this->position]);
32         }
33         /**
34          * 返回當前元素
35          * @return mixed 可以返回任何類型。
36          */
37         public function current(){
38             var_dump(__METHOD__);
39             //返回數組的第一個元素
40             return $this->array[$this->position];
41         }
42         /**
43          * 返回當前元素的關鍵
44          * @return mixed 標量成功,或null失敗
45          */
46         public function key(){
47             var_dump(__METHOD__);
48             //返回數組第一個元素的key
49             return $this->position;
50         }
51         /**
52          * 前進到下一個元素
53          * @return void 任何返回值將被忽略。
54          */
55         public function next(){
56             var_dump(__METHOD__);
57             ++ $this->position;
58         }
59     }
60 
61 $array=[
62         "firstelement",
63         "secondeleent",
64         "lastelement"
65     ];
66 
67 $it = new myIterator($array);
68 foreach ($it as $key=>$value) {
69     echo $key.' => '.$value;
70     echo "<br>";
71 } 

 

執行結果:

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved