PHP 生成器的使用

PHP 生成器的使用

  • PHP經常用的語法

      function nums() {
          $array = array();
          for ($i = 0; $i < 10000; ++$i) {
              $array[]= $i;
          }
          return $array;
      }
      
      foreach (nums() as $v){
          var_dump($v);
      };
    

    安裝原來的寫法,return多個迭代之後的值,需要放進數組裏面,然後return返回。如果這個數組足夠大,所佔用的內存也比較大,和空間相比,內存還是比較珍貴的,特別在服務器上。

  • 生成器的用法

      function nums2() {
          for ($i = 0; $i < 10000; ++$i) {
              yield $i;
          }
      }
      
      foreach (nums2() as $v){
          var_dump($v);
      };
    

    生成器最大的不同就是使用了yield,PHP每次調用都是調用生成器的方法代碼,我覺得是佔用了空間,而內存佔用的情況變小了,在大的迭代上,使用生成器真的可以優化很多內存,小數的迭代性能上沒什麼區別。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章