码迷,mamicode.com
首页 > Web开发 > 详细

PHP之生成器

时间:2018-03-07 23:50:38      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:大数   php5.5   产生   php   blog   bsp   返回结果   var_dump   就是   

版本在 PHP5.5+,

生成器语法(yield), 能够在需要的时候去产生值,而非提前创建所有的值

只要有一个函数中,出现了yield 那么他就是生成器函数

function b(){

  yield 1;

}

var_dump(b());

将输出一个对象,一个表示返回值是生成器对象,  生成器对象必须由foreach遍历 不然会报错

yield 与 return 一样可以返回结果,不同的是 return 之后,程序之后就不再执行,重新执行时,又重新开始; 

yield 是暂停 ,在yield之后 再次重新执行程序时,会接着从暂停处继续执行

function a()

{

  $num = 0;

  while($num<100){

  $num++;

  yield $num;

}

}

foreach( a() as $val ){

  echo $val;

}

最主要的是解决大数据 分批分次  按序载入来降低对内存的使用

 

PHP之生成器

标签:大数   php5.5   产生   php   blog   bsp   返回结果   var_dump   就是   

原文地址:https://www.cnblogs.com/JdsyJ/p/8525627.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!