站長資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        php中yield的用法是什么

        本篇文章給大家介紹一下php中yield的用法。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有所幫助。

        php中yield的用法是什么

        之前有聽過php 中自身也有協(xié)程,查看找了下并學(xué)習(xí)。

        demo已上傳 我的github筆記

        yield 解決的問題

        解決運行內(nèi)存的瓶頸,php程序中的變量存儲在內(nèi)存中,之前有遇到過讀取Excel文件時候,會出現(xiàn)內(nèi)存不足,出現(xiàn):

        Fatal Error: Allowed memory size of xxxxxx bytes

        所以會設(shè)置php 最大運行內(nèi)存的設(shè)置: ini_set('memory_limit', '200M')

        但是當(dāng)我們讀取5g 這么大的文件的時候,我們運行內(nèi)存可能就吃不消了,所以會選擇yield

        初識Yield

        運行:

        <?php function createRange($number){     $data = [];     for($i=0;$i<$number;$i++){         $data[] = time();     }     return $data; } $data =createRange(10); foreach($data as $value){     sleep(1);//這里停頓1秒,我們后續(xù)有用     echo $value.PHP_EOL; }

        php中yield的用法是什么

        時間是一樣的。如果采用yield:

        <?php  function createRange($number){     for($i=0;$i<$number;$i++){         yield time();     } } $data =createRange(10); foreach($data as $value){     sleep(1);//這里停頓1秒,我們后續(xù)有用     echo $value.PHP_EOL; }

        php中yield的用法是什么

        時間則間隔一秒鐘,所以通過yield 的例子知道,不是像第一個例子中把for 循環(huán)的內(nèi)容儲存在內(nèi)存中,而是一個一個消耗。

        讀取文件的例子

        創(chuàng)建一個txt 文件寫入:

        第1行 第2行 第3行 第4行 第5行 第6行 第7行 第8行
        <?php function readTxt() {     # code...     $handle = fopen("./test.txt", 'rb');      while (feof($handle)===false) {         # code...         yield fgets($handle);     }      fclose($handle); }  foreach (readTxt() as $key => $value) {     # code...     sleep(1);     echo $value; }

        用php 讀取文件,則是一行一行的讀取

        php中yield的用法是什么

        到這邊,大概知道了yield 的作用了,之后咱再深入

        推薦學(xué)習(xí):php視頻教程

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
        主站蜘蛛池模板: 精品一区二区三区无码免费视频| 久久国产精品久久国产精品| 精品国产日产一区二区三区| 曰韩精品无码一区二区三区| 国产精品免费一区二区三区| HEYZO无码综合国产精品| 无码精品蜜桃一区二区三区WW| 91精品国产91久久久久久青草 | 成人区人妻精品一区二区不卡视频 | 国产人成精品综合欧美成人| 你懂的国产精品| 97久久超碰成人精品网站| 欧美jizzhd精品欧美| 亚洲国产一成久久精品国产成人综合| 大胸国产精品视频| 久久99热狠狠色精品一区| 99热精品在线| 91国内外精品自在线播放| 久久精品天天中文字幕人妻| 亚洲中文久久精品无码ww16| 欧美成人精品欧美一级乱黄码| 国内精品伊人久久久久影院对白 | 国产精品无码永久免费888| 四虎影视884a精品国产四虎| 99久久国语露脸精品国产| 精品久久久久久成人AV| 久久精品aⅴ无码中文字字幕重口| 亚洲AV无码久久精品狠狠爱浪潮| 亚洲精品视频久久久| 亚洲国产精品成人| 中文字幕精品一区二区三区视频| 香港三级精品三级在线专区 | 亚洲国产午夜中文字幕精品黄网站| 人妻偷人精品成人AV| 无码AⅤ精品一区二区三区| 亚洲国产精品ⅴa在线观看| 亚洲精品成人网站在线观看| 无码人妻精品一区二区三区久久| 久久久国产乱子伦精品作者| 999久久久无码国产精品| 国产人成精品午夜在线观看|