久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

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

      php中yield的用法是什么

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

      php中yield的用法是什么

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

      demo已上傳 我的github筆記

      yield 解決的問題

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

      Fatal Error: Allowed memory size of xxxxxx bytes

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

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

      初識(shí)Yield

      運(yùn)行:

      <?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的用法是什么

      時(shí)間是一樣的。如果采用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的用法是什么

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

      讀取文件的例子

      創(chuàng)建一個(gè)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號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)