站長資訊網(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號
亚洲精品无码成人片在线观看 | 99精品无人区乱码在线观看| 尤物yw午夜国产精品视频| 日韩免费a级在线观看| 内射中出日韩无国产剧情| 无码精品一区二区三区| 国产成人精品高清在线观看99| 乱精品一区字幕二区| 国产精品美女久久久m| 久久青青草原精品国产软件| 亚洲国产精品自产在线播放| 欧美日韩精品SUV| 日韩免费视频一区二区| 国产成人一区二区三区精品久久| 黑人粗长大战亚洲女2021国产精品成人免费视频 | 国产精品白嫩在线观看| 亚洲AV永久无码精品放毛片| 97久久久久人妻精品专区| 日本亚洲精品色婷婷在线影院| 精品无码人妻一区二区免费蜜桃| 日韩精品无码久久久久久 | 国产精品无码一区二区在线| 国产精品高清视亚洲一区二区| 成人三级精品视频在线观看| 国产精品久久久久久福利漫画| 91探花国产综合在线精品| 亚洲国产精品日韩在线观看| 91精品国产91久久久久久青草 | 日韩精品一区二区三区视频| 日韩精品一区二区三区国语自制| 中文字幕日韩有码| 亚洲日韩国产精品乱| 国产av一区二区三区日韩| 日韩内射激情视频在线播放免费| 中文一国产一无码一日韩| 日韩中文在线视频| 免费国产在线精品一区| 第一福利永久视频精品| 亚洲精品麻豆av| 久久青青草原精品国产不卡| 7777久久久国产精品消防器材|