青岛达内it培训 > 达内新闻
山东it培训:PHP协成
- 发布:山东it培训
- 来源:山东it培训
- 时间:2018-04-17 14:12
大家好,今天为大家介绍一下php协成
用python开发知道协程的存在,今天在看一个php框架的时候 发现他们居然使用的协程。
然后查看了资料。
发现php5.5就开始支持了。
PHP5.5:yield, list() 用于 foreach, 细节修改
yield 在python上就像个神器一样的存在,能大大的节约内存的开销。
看看它在php上是怎么使用的吧!
达内告诉我们,一个生成器函数看起来像一个普通的函数,不同的是普通函数返回一个值,而一个生成可以yield生成许多它所需要的值,并且每一次的生成返回值只是暂停当前的执行状态,达内培训告诉我们,当下次调用生成器函数时,PHP会从上次暂停的状态继续执行下去。
我们在使用生成器的时候可以像关联数组那样指定一个键名对应生成的值。如下生成一个键值对与定义一个关联数组相似。
function xrange($start, $limit, $step = 1) { for ($i = $start, $j = 0; $i <= $limit; $i += $step, $j++) { // 给予键值 yield $j => $i; }}$xrange = xrange(1, 10, 2);foreach ($xrange as $key => $value) { echo $key . ' => ' . $value . “ ”;
山东it培训告诉我们,上面这个xrange()函数提供了和PHP的内建函数range()一样的功能。但是不同的是range()函数返回的是一个包含值从1到100万0的数组(注:请查看手册)。 而xrange()函数返回的是依次输出这些值的一个迭代器, 而不会真正以数组形式返回。
这种方法的优点是显而易见的。它可以让你在处理大数据集合的时候不用一次性的加载到内存中。甚至你可以处理无限大的数据流。
希望对您有所帮助
更多山东it培训相关资讯,请扫描下方二维码
最新开班时间
- 北京
- 上海
- 广州
- 深圳
- 南京
- 成都
- 武汉
- 西安
- 青岛
- 天津
- 杭州
- 重庆
- 哈尔滨
- 济南
- 沈阳
- 合肥
- 郑州
- 长春
- 苏州
- 长沙
- 昆明
- 太原
- 无锡
- 石家庄
- 南宁
- 佛山
- 珠海
- 宁波
- 保定
- 呼和浩特
- 洛阳
- 烟台
- 运城
- 潍坊
山东it培训:PHP协成
- 发布:山东it培训
- 来源:山东it培训
- 时间:2018-04-17 14:12
大家好,今天为大家介绍一下php协成
用python开发知道协程的存在,今天在看一个php框架的时候 发现他们居然使用的协程。
然后查看了资料。
发现php5.5就开始支持了。
PHP5.5:yield, list() 用于 foreach, 细节修改
yield 在python上就像个神器一样的存在,能大大的节约内存的开销。
看看它在php上是怎么使用的吧!
达内告诉我们,一个生成器函数看起来像一个普通的函数,不同的是普通函数返回一个值,而一个生成可以yield生成许多它所需要的值,并且每一次的生成返回值只是暂停当前的执行状态,达内培训告诉我们,当下次调用生成器函数时,PHP会从上次暂停的状态继续执行下去。
我们在使用生成器的时候可以像关联数组那样指定一个键名对应生成的值。如下生成一个键值对与定义一个关联数组相似。
function xrange($start, $limit, $step = 1) { for ($i = $start, $j = 0; $i <= $limit; $i += $step, $j++) { // 给予键值 yield $j => $i; }}$xrange = xrange(1, 10, 2);foreach ($xrange as $key => $value) { echo $key . ' => ' . $value . “ ”;
山东it培训告诉我们,上面这个xrange()函数提供了和PHP的内建函数range()一样的功能。但是不同的是range()函数返回的是一个包含值从1到100万0的数组(注:请查看手册)。 而xrange()函数返回的是依次输出这些值的一个迭代器, 而不会真正以数组形式返回。
这种方法的优点是显而易见的。它可以让你在处理大数据集合的时候不用一次性的加载到内存中。甚至你可以处理无限大的数据流。
希望对您有所帮助
更多山东it培训相关资讯,请扫描下方二维码
最新开班时间
- 北京
- 上海
- 广州
- 深圳
- 南京
- 成都
- 武汉
- 西安
- 青岛
- 天津
- 杭州
- 重庆
- 厦门
- 哈尔滨
- 济南
- 福州
- 沈阳
- 合肥
- 郑州
- 长春
- 苏州
- 大连
- 长沙
- 昆明
- 温州
- 太原
- 南昌
- 无锡
- 石家庄
- 南宁
- 中山
- 兰州
- 佛山
- 珠海
- 宁波
- 贵阳
- 保定
- 呼和浩特
- 东莞
- 洛阳
- 潍坊
- 烟台
- 运城