php yield处理大数据的方法

php yield处理大数据的方法

比方说读取10G excel

内存不够用  一般人会用分成20个 然后处理 处理完释放内存 这样虽然可以 但是代码沉余 不方便维护

 

用yield的方法

function createRange($number){
    for($i=0;$i<$number;$i++){
        yield time();
    }
}
$data =createRange(10);
foreach($data as $value){
    sleep(1);//这里停顿1秒,我们后续有用
    echo $value.PHP_EOL;
}

一个一个消耗。

 

原理就是把time()放入队列  foreach就是读取队列

 

上一篇:我把 Python 协程的本质扒得干干净净


下一篇:Python生成器