婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

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

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

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

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

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

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

3. 代碼示例:

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

4. 實際應(yīng)用示例

/**
 * 大量數(shù)據(jù)生成示例
 * @param int $page
 * @param int $limit
 * @return Generator
 */
public function generator($page = 1,$limit = 50000)
{
  while (true) {
    echo "第{$page}次".'generator開始內(nèi)存:'.$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結(jié)束內(nèi)存:'.$this->getMemory().'br>';
    $page++;
  }
}
    //測試生成器內(nèi)存消耗
//    foreach ($this->generator() as $result) {
//      var_dump($result[0]);
//    }

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

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

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

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

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PHP生成器功能與用法實例分析》,本文關(guān)鍵詞  PHP,生,成器,功能,與,用法,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《PHP生成器功能與用法實例分析》相關(guān)的同類信息!
  • 本頁收集關(guān)于PHP生成器功能與用法實例分析的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 灵丘县| 明星| 西昌市| 平和县| 南丰县| 黎川县| 尚义县| 唐山市| 六枝特区| 公安县| 辰溪县| 富平县| 巫溪县| 康乐县| 甘泉县| 上林县| 登封市| 沽源县| 金秀| 宜丰县| 姜堰市| 根河市| 德令哈市| 苗栗市| 江安县| 洛宁县| 维西| 余庆县| 德清县| 九寨沟县| 晴隆县| 湖口县| 开封县| 天峨县| 磐石市| 鄂伦春自治旗| 祁门县| 满洲里市| 博客| 界首市| 德令哈市|