濮阳杆衣贸易有限公司

主頁 > 知識庫 > PHP生成器功能與用法實例分析

PHP生成器功能與用法實例分析

熱門標簽:地圖標注專員怎么樣 寧波外呼營銷系統(tǒng) 福建銀行智能外呼系統(tǒng)價格 電話機器人銷售主要負責什么 四川保險智能外呼系統(tǒng)供應商 遼寧ai電銷機器人價格 上海做外呼線路的通信公司 房產(chǎn)中介用的是什么外呼系統(tǒng) 長沙做地圖標注公司

本文實例講述了PHP生成器功能與用法。分享給大家供大家參考,具體如下:

1. 官方說明:生成器提供了一種更容易的方法來實現(xiàn)簡單的對象迭代,相比較定義類實現(xiàn) Iterator 接口的方式,性能開銷和復雜性大大降低。生成器允許你在 foreach 代碼塊中寫代碼來迭代一組數(shù)據(jù)而不需要在內存中創(chuàng)建一個數(shù)組。

2. 生成器就像一個普通的自定義函數(shù)一樣, 和普通函數(shù)只返回一次不同的是, 生成器可以根據(jù)需要 yield 多次,以便生成需要迭代的值。

3. 代碼示例:

//未使用生成器
echo '開始內存:'.getMemory().'br>';
$nums = range(0,1000000);
echo '結束內存:'.getMemory().'br>';
//輸出結果
//開始內存:0.23M
//結束內存:130.31​
//使用生成器
echo '開始內存:'.getMemory().'br>';
$nums = xrange(1000000);
function xrange($total)
{
  for ($i = 0; $i  $total; $i++) {
    yield $i;
  }
}
echo '結束內存:'.getMemory().'br>';
//輸出結果
//開始內存:0.23M
//結束內存:0.23M

4. 實際應用示例

/**
 * 大量數(shù)據(jù)生成示例
 * @param int $page
 * @param int $limit
 * @return Generator
 */
public function generator($page = 1,$limit = 50000)
{
  while (true) {
    echo "第{$page}次".'generator開始內存:'.$this->getMemory().'br>';
    $start = ($page-1) * $limit;
    $sql = "SELECT p.id,p.wh_code,p.goods_sn FROM p_product as p WHERE p.wh_code LIKE '%YB%' OR p.wh_code LIKE '%DZWH%' LIMIT {$start},{$limit} ";
    $resultAll = db()->fetchAll($sql);
    yield $resultAll; //生成器​
    if (count($resultAll) != $limit) {
      break;
    }
    echo "第{$page}次".'generator結束內存:'.$this->getMemory().'br>';
    $page++;
  }
}
    //測試生成器內存消耗
//    foreach ($this->generator() as $result) {
//      var_dump($result[0]);
//    }

更多關于PHP相關內容感興趣的讀者可查看本站專題:《php常用函數(shù)與技巧總結》、《php字符串(string)用法總結》、《PHP數(shù)組(Array)操作技巧大全》、《PHP數(shù)據(jù)結構與算法教程》及《php程序設計算法總結》

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

您可能感興趣的文章:
  • PHP Web表單生成器案例分析
  • PHP迭代器和生成器用法實例分析
  • PHP生成器(generator)和協(xié)程的實現(xiàn)方法詳解
  • PHP中你可能忽略的性能優(yōu)化利器:生成器
  • PHP十六進制顏色隨機生成器功能示例
  • PHP新特性詳解之命名空間、性狀與生成器
  • php驗證碼生成器
  • thinkPHP連接sqlite3數(shù)據(jù)庫的實現(xiàn)方法(附Thinkphp代碼生成器下載)
  • PHP5.5迭代生成器用法實例詳解
  • PHP 生成器的使用詳解

標簽:佛山 宿遷 工商登記 澳門 宜春 延安 常德 深圳

巨人網(wǎng)絡通訊聲明:本文標題《PHP生成器功能與用法實例分析》,本文關鍵詞  PHP,生,成器,功能,與,用法,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PHP生成器功能與用法實例分析》相關的同類信息!
  • 本頁收集關于PHP生成器功能與用法實例分析的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    蓝山县| 新巴尔虎左旗| 贺兰县| 罗源县| 齐河县| 聂荣县| 漠河县| 永州市| 长沙市| 昭平县| 武平县| 闽侯县| 桃园市| 宜春市| 德令哈市| 沾益县| 鞍山市| 和顺县| 朝阳市| 十堰市| 新津县| 宣恩县| 广州市| 宁强县| 扶风县| 宣化县| 任丘市| 清流县| 阿合奇县| 长乐市| 林州市| 新龙县| 康保县| 玛沁县| 册亨县| 阳城县| 永兴县| 白水县| 左云县| 田东县| 都安|