hi,你好!欢迎访问本站!登录
本站由简数采集腾讯云宝塔系统阿里云强势驱动
当前位置:首页 - 文章 - 后端开发 - 正文 看Cosplay古风插画小姐姐,合集图集打包下载:炫龙网 · 炫龙图库

PHP生成器-动态生成内容的数组_后端开发

2020-02-22后端开发ki4网14°c
A+ A-

Go接口interface的用法介绍_后端开发

go语言的接口在go的编程里面用的十分频繁,尤其是空接口的使用,因为有了接口,才使得Go语言变得异常的强大。 go语言教程栏目就来为大家介绍一下Go接口interface的用法。

定义:

1.生成器:“动态生成内容的数组”,用到值的时候才去生产。

2.搭配使用:关键字 yield foreach

推荐:《php培训》

过程:

1.作为生成器的方法相当于定义了一个数组;

2.生成器中的 yield,每次出现相当于定义了一个数组中出现的值;

3.foreach 会遍历生成器中所有的 yield 定义的值(某个被定义的值(表达式),只有在被用到的时候,当前yield同上一个yield之间的其他表达式才会被执行,当前yield之后的表达式不会被执行);

4.foreach 正常结束的话(不是break),判断一下生成器中最后一个yield之后是否有其他表达式未执行完,是的话,执行之;

5.不同于线程,不是并行执行,只是在主业务逻辑和生成器之间来回切换执行,只节省了空间,时间没省下来。

设想使用场景:

1、取大数据文件,生成器中逐行读取;

2、???

例子:

2020北京php培训哪里好?_后端开发

2020年PHP依然是大部分中小型企业和很多开源网站的首选开发编程语言,职位多工资高要求低,那么2020北京php培训哪里好?php中文网提供大量免费、原创、高清的php视频教程,并且会定期举行php公益培训​!

gen.php

 <?php
   function gen()
   {
       echo '生成器开始执行' . PHP_EOL;
      for ($i = 0; $i < 5; $i++) {
           echo '产生数据之前:' . $i  . PHP_EOL;
           yield $i; 
           echo '产生数据之后:' . $i  . PHP_EOL;
       }   
      echo '再来一个数据' . PHP_EOL;
      yield 5;
      echo '生成器执行结束' . PHP_EOL;
  }   
  $gen_func = gen();
  echo '生成器开始执行了吗?' . PHP_EOL;
  foreach ($gen_func as $key  => $val) {
      echo '使用数据前' . PHP_EOL;
      echo '使用数据:' . $val . PHP_EOL;
      echo '使用数据后' . PHP_EOL;
      //if ($key >= 4) {
          //break;
      //} 
  }

执行结果:

php gen.php
生成器开始执行了吗?
生成器开始执行
产生数据之前:0
使用数据前
使用数据:0
使用数据后
产生数据之后:0
产生数据之前:1
使用数据前
使用数据:1
使用数据后
产生数据之后:1
产生数据之前:2
使用数据前
使用数据:2
使用数据后
产生数据之后:2
产生数据之前:3
使用数据前
使用数据:3
使用数据后
产生数据之后:3
产生数据之前:4
使用数据前
使用数据:4
使用数据后
产生数据之后:4
再来一个数据
使用数据前
使用数据:5
使用数据后
生成器执行结束

部分执行过程解读:

1、14行并没有调用生成器gen(),只是做了定义;

2、进入 foreach 循环后,开始调用gen();

3、$val 需要值的时候,记住当前位置a,执行生成器;

4、执行到 yield 定义的地方,取到值了,记住当前位置b,返回位置a;

5、循环3、4两步;

6、循环结束,执行完 yield 最后一次定义的地方的之后的剩下部分;

7、去掉20、21、22行的注释后执行,"使用数据:4 使用数据后",就不再有其他输出。

其他(仅验证了PHP7.1.14版本)

1、value);//YES value;//NO

2、可以使用yield val;

3、PHP7之后,yield from 可以调用生成器、数组、使用return等。

更多编程相关内容,请关注ki4网编程教程栏目!

以上就是PHP生成器-动态生成内容的数组的详细内容,更多请关注ki4网其它相关文章!

devc如何恢复默认设置_后端开发

devc恢复默认设置的方法:首先打开dev软件;然后点击“工具-编辑器”设置;接着在编辑器设置的对话框中点击“语法”;再把背景设置成原来的颜色;最后点击确定即可。

  选择打赏方式
微信赞助

打赏

QQ钱包

打赏

支付宝赞助

打赏

  选择分享方式
  移步手机端
PHP生成器-动态生成内容的数组_后端开发

1、打开你手机的二维码扫描APP
2、扫描左则的二维码
3、点击扫描获得的网址
4、可以在手机端阅读此文章
标签:
推荐阅读

发表评论

选填

必填

必填

选填

请拖动滑块解锁
>>