校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

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

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

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

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

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

2. 生成器就像一個普通的自定義函數一樣, 和普通函數只返回一次不同的是, 生成器可以根據需要 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. 實際應用示例

/**
 * 大量數據生成示例
 * @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常用函數與技巧總結》、《php字符串(string)用法總結》、《PHP數組(Array)操作技巧大全》、《PHP數據結構與算法教程》及《php程序設計算法總結》

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

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

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

巨人網絡通訊聲明:本文標題《PHP生成器功能與用法實例分析》,本文關鍵詞  PHP,生,成器,功能,與,用法,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PHP生成器功能與用法實例分析》相關的同類信息!
  • 本頁收集關于PHP生成器功能與用法實例分析的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 玉田县| 鄂尔多斯市| 石景山区| 大安市| 宿州市| 徐闻县| 铜川市| 凤庆县| 望城县| 金沙县| 伊金霍洛旗| 德化县| 蓝田县| 大埔县| 洛阳市| 大宁县| 元阳县| 宁城县| 永平县| 凤翔县| 武清区| 大洼县| 新昌县| 调兵山市| 武乡县| 同心县| 江城| 精河县| 普定县| 烟台市| 彭泽县| 井研县| 偃师市| 台中市| 新兴县| 甘洛县| 龙南县| 沂水县| 宁津县| 瑞昌市| 玉环县|