zoukankan      html  css  js  c++  java
  • [PHP] yield沟通函数循环内外

    1.yield是函数内外,循环内外沟通用的 , 当你的函数需要返回一个大数组 , 循环的时候需要遍历这个大数组时 , 并且需要多次遍历这个函数的返回值 , 这个是有用的

    2.当我也是只需要在一次循环中就可以处理完所有的事情时 , 这个就没啥用

    <?php
    $start=memory_get_usage();
    
    function readTxt(){
        $handle = fopen("./2018-12-awk-uniq.txt", 'rb');
        while (feof($handle)===false) {
            yield fgets($handle);
            echo "
    4:***************
    ";
        }   
        fclose($handle);
    }
    
    foreach (readTxt() as $key => $value) {
            echo "1:".$value;
            echo "2:=================
    ";
            echo "3:".(memory_get_usage()-$start);
    }
    

    在函数内循环的时候 , 会暂停住 , 回到我的外层循环里来 , 注意看输出的顺序

    当然如果我在读取一行数据的循环里 , 把所有工作都做完 , 这个yield就不需要了 ,起到个传递的作用

      

  • 相关阅读:
    hoj 13832 Fence
    hoj 13830 DNA Sequencing 字典树
    HOJ Funfair
    HOJ 13828 Funfair
    图论相关
    01字典树
    异或
    日常补题2017-10-31
    康拓展开
    日常训练17-10-27(16杭州ccpc)
  • 原文地址:https://www.cnblogs.com/taoshihan/p/10458459.html
Copyright © 2011-2022 走看看