国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

PHP基礎之生成器4——比較生成器和迭代器對象

瀏覽:98日期:2022-09-15 09:50:00

生成器最大的優勢就是簡單,和實現Iterator的類相比有著更少的樣板代碼,并且代碼的可讀性也更強. 例如, 下面的函數和類是等價的:

<?php function getLinesFromFile($fileName) {if (!$fileHandle = fopen($fileName, ’r’)) { return;}while (false !== $line = fgets($fileHandle)) { yield $line;}fclose($fileHandle); } // versus... class LineIterator implements Iterator {protected $fileHandle;protected $line;protected $i;public function __construct($fileName) { if (!$this->fileHandle = fopen($fileName, ’r’)) {throw new RuntimeException(’Couldn’t open file '’ . $fileName . ’'’); }}public function rewind() { fseek($this->fileHandle, 0); $this->line = fgets($this->fileHandle); $this->i = 0;}public function valid() { return false !== $this->line;}public function current() { return $this->line;}public function key() { return $this->i;}public function next() { if (false !== $this->line) {$this->line = fgets($this->fileHandle);$this->i++; }}public function __destruct() { fclose($this->fileHandle);} }?>

這種靈活性也付出了代價:生成器是前向迭代器,不能在迭代啟動之后往回倒. 這意味著同一個迭代器不能反復多次迭代: 生成器需要需要重新構建調用,或者通過clone關鍵字克隆.

標簽: PHP
相關文章:
主站蜘蛛池模板: 黄人成a动漫片免费网站 | 国产全部理论片线观看 | 久久久久久国产精品视频 | 最新99国产成人精品视频免费 | 韩国美女一级片 | 亚洲三级理论 | 很黄的网站在线观看 | 久操视频免费在线观看 | 国产激情视频在线播放 | 欧美在线日韩在线 | 国产图片亚洲精品一区 | 成年人免费在线视频网站 | 国内高清久久久久久久久 | 亚洲国产成人久久综合一区 | 日本无卡码免费一区二区三区 | 免费看美女毛片 | 日本欧美一区二区三区在线 | 亚洲国产精品综合久久网络 | 欧美人性影片免费看 | 麻豆国产一区 | 日韩性视频网站 | 中文国产成人精品久久水 | 中文字幕亚洲在线 | 99爱视频免费高清在线观看 | 午夜视频一区二区三区 | 免费国产不卡午夜福在线观看 | 日本精品夜色视频一区二区 | 毛片一级在线观看 | 99爱视频| 日韩国产在线播放 | 国产成人啪精品视频免费软件 | 能在线观看的一区二区三区 | 欧美亚洲免费 | 久久精品免视着国产成人 | 成人精品视频一区二区三区 | 久久国产视频网 | 99视频精品全部在线播放 | 九九色网| 亚洲综合久久1区2区3区 | 久久久久久久免费 | 黄色wwwcom|