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

PHP生成器簡單實例

編輯:PHP綜合

一般你在迭代一組數據的時候,需要創建一個數據,假設數組很大,則會消耗很大性能,甚至造成內存不足。
復制代碼 代碼如下:
//Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 32 bytes) in E:\php\test\index.php on line 5
range(1, 100000000);

PHP5.5實現了生成器,每當產生一個數組元素則用yield關鍵詞返回,並且執行函數暫停,當執行函數next方法時,則會從上一次被yield的位置開始繼續執行,如下例子,只會產生中間變量$i
復制代碼 代碼如下:
function xrange($start, $limit, $step = 1) {
    for ($i = $start; $i <= $limit; $i += $step) {
        yield $i;
    }
}
 
foreach (xrange(1, 9, 1) as $number) {
    echo "$number ";
}

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