国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - PHP迭代器和迭代的實現與使用方法分析

PHP迭代器和迭代的實現與使用方法分析

2019-10-12 11:22LSGOZJ PHP教程

這篇文章主要介紹了PHP迭代器和迭代的實現與使用方法,結合實例形式分析了PHP迭代器的概念、原理、定義與使用方法,需要的朋友可以參考下

本文實例講述了PHP迭代器和迭代的實現與使用方法。分享給大家供大家參考,具體如下:

PHP的面向對象引擎提供了一個非常聰明的特性,就是,可以使用foreach()方法通過循環方式取出一個對象的所有屬性,就像數組方式一樣,代碼如下:

class Myclass{
  public $a = 'php';
  public $b = 'onethink';
  public $c = 'thinkphp';
}
$myclass = new Myclass();
//用foreach()將對象的屬性循環出來
foreach($myclass as $key.'=>'.$val){
  echo '$'.$key.' = '.$val."<br/>";
}
/*返回
  $a = php
  $b = onethink
  $c = thinkphp
*/

如果需要實現更加復雜的行為,可以通過一個iterator(迭代器)來實現

//迭代器接口
interface MyIterator{
  //函數將內部指針設置回數據開始處
  function rewind();
  //函數將判斷數據指針的當前位置是否還存在更多數據
  function valid();
  //函數將返回數據指針的值
  function key();
  //函數將返回將返回當前數據指針的值
  function value();
  //函數在數據中移動數據指針的位置
  function next();
}
//迭代器類
class ObjectIterator implements MyIterator{
  private $obj;//對象
  private $count;//數據元素的數量
  private $current;//當前指針
  function __construct($obj){
    $this->obj = $obj;
    $this->count = count($this->obj->data);
  }
  function rewind(){
    $this->current = 0;
  }
  function valid(){
    return $this->current < $this->count;
  }
  function key(){
    return $this->current;
  }
  function value(){
    return $this->obj->data[$this->current];
  }
  function next(){
    $this->current++;
  }
}
interface MyAggregate{
  //獲取迭代器
  function getIterator();
}
class MyObject implements MyAggregate{
  public $data = array();
  function __construct($in){
    $this->data = $in;
  }
  function getIterator(){
    return new ObjectIterator($this);
  }
}
//迭代器的用法
$arr = array(2,4,6,8,10);
$myobject = new MyObject($arr);
$myiterator = $myobject->getIterator();
for($myiterator->rewind();$myiterator->valid();$myiterator->next()){
  $key = $myiterator->key();
  $value = $myiterator->value();
  echo $key.'=>'.$value;
  echo "<br/>";
}
/*返回
  0=>2
  1=>4
  2=>6
  3=>8
  4=>10
*/

希望本文所述對大家PHP程序設計有所幫助。

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 国产欧美精品一区二区三区 | 免费国产一区 | 日韩电影一区二区三区 | 久久精品中文字幕一区二区 | 在线a人片免费观看视频 | 欧美劲爆第一页 | 欧美在线观看免费观看视频 | 国产欧美日韩成人 | 成人二区 | 久久精品久久久久久 | 国产精品毛片久久久久久久明星 | 中文精品在线观看 | 久久精品无码一区二区日韩av | 日本三级韩国三级三级a级中文 | 国产一区二区免费 | 久久爱电影 | 国产一级在线观看 | 久久国产精品久久 | 亚洲免费电影一区 | av网站观看 | 免费视频一区 | 欧美日韩综合在线 | 精品久久久蜜桃 | 亚洲乱码一区二区三区在线观看 | 国产模特私拍xxxx | 国产一区二区精品在线观看 | 日韩精品一区二区在线观看 | 玖玖在线免费视频 | 午夜电影网址 | 欧美日韩高清在线一区 | 91精选 | 中文字幕av网站 | 国产成年人视频 | 欧美日韩电影 | 亚洲电影一区 | 国产一区二区在线免费观看 | av片在线观看| 精品欧美乱码久久久久久1区2区 | 国产精品成人一区 | 国产免费视频在线 | 亚洲一区二区三区高清 |