真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

PHP生成器-動態(tài)生成內(nèi)容的數(shù)組方法演示-創(chuàng)新互聯(lián)

這篇文章主要為大家詳細介紹了PHP生成器-動態(tài)生成內(nèi)容的數(shù)組方法演示,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下。

成都創(chuàng)新互聯(lián)公司主營平潭網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,app開發(fā)定制,平潭h5微信小程序開發(fā)搭建,平潭網(wǎng)站營銷推廣歡迎平潭等地區(qū)企業(yè)咨詢

定義:

1.生成器:“動態(tài)生成內(nèi)容的數(shù)組”,用到值的時候才去生產(chǎn)。

2.搭配使用:關(guān)鍵字 yield foreach

過程:

1.作為生成器的方法相當(dāng)于定義了一個數(shù)組;

2.生成器中的 yield,每次出現(xiàn)相當(dāng)于定義了一個數(shù)組中出現(xiàn)的值;

3.foreach 會遍歷生成器中所有的 yield 定義的值(某個被定義的值(表達式),只有在被用到的時候,當(dāng)前yield同上一個yield之間的其他表達式才會被執(zhí)行,當(dāng)前yield之后的表達式不會被執(zhí)行);

4.foreach 正常結(jié)束的話(不是break),判斷一下生成器中最后一個yield之后是否有其他表達式未執(zhí)行完,是的話,執(zhí)行之;

5.不同于線程,不是并行執(zhí)行,只是在主業(yè)務(wù)邏輯和生成器之間來回切換執(zhí)行,只節(jié)省了空間,時間沒省下來。

PHP生成器-動態(tài)生成內(nèi)容的數(shù)組方法演示

設(shè)想使用場景:

1、取大數(shù)據(jù)文件,生成器中逐行讀??;

2、???

例子:

gen.php

  $val) {
      echo '使用數(shù)據(jù)前' . PHP_EOL;
      echo '使用數(shù)據(jù):' . $val . PHP_EOL;
      echo '使用數(shù)據(jù)后' . PHP_EOL;
      //if ($key >= 4) {
          //break;
      //} 
  }

執(zhí)行結(jié)果:

php gen.php
生成器開始執(zhí)行了嗎?
生成器開始執(zhí)行
產(chǎn)生數(shù)據(jù)之前:0
使用數(shù)據(jù)前
使用數(shù)據(jù):0
使用數(shù)據(jù)后
產(chǎn)生數(shù)據(jù)之后:0
產(chǎn)生數(shù)據(jù)之前:1
使用數(shù)據(jù)前
使用數(shù)據(jù):1
使用數(shù)據(jù)后
產(chǎn)生數(shù)據(jù)之后:1
產(chǎn)生數(shù)據(jù)之前:2
使用數(shù)據(jù)前
使用數(shù)據(jù):2
使用數(shù)據(jù)后
產(chǎn)生數(shù)據(jù)之后:2
產(chǎn)生數(shù)據(jù)之前:3
使用數(shù)據(jù)前
使用數(shù)據(jù):3
使用數(shù)據(jù)后
產(chǎn)生數(shù)據(jù)之后:3
產(chǎn)生數(shù)據(jù)之前:4
使用數(shù)據(jù)前
使用數(shù)據(jù):4
使用數(shù)據(jù)后
產(chǎn)生數(shù)據(jù)之后:4
再來一個數(shù)據(jù)
使用數(shù)據(jù)前
使用數(shù)據(jù):5
使用數(shù)據(jù)后
生成器執(zhí)行結(jié)束

部分執(zhí)行過程解讀:

1、14行并沒有調(diào)用生成器gen(),只是做了定義;

2、進入 foreach 循環(huán)后,開始調(diào)用gen();

3、$val 需要值的時候,記住當(dāng)前位置a,執(zhí)行生成器;

4、執(zhí)行到 yield 定義的地方,取到值了,記住當(dāng)前位置b,返回位置a;

5、循環(huán)3、4兩步;

6、循環(huán)結(jié)束,執(zhí)行完 yield 最后一次定義的地方的之后的剩下部分;

7、去掉20、21、22行的注釋后執(zhí)行,"使用數(shù)據(jù):4 使用數(shù)據(jù)后",就不再有其他輸出。

其他(僅驗證了PHP7.1.14版本)

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

2、可以使用yield val;

3、PHP7之后,yield from 可以調(diào)用生成器、數(shù)組、使用return等。

以上就是PHP生成器-動態(tài)生成內(nèi)容的數(shù)組方法演示的簡略介紹,當(dāng)然詳細使用上面的不同還得要大家自己使用過才領(lǐng)會。如果想了解更多,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道哦!


當(dāng)前題目:PHP生成器-動態(tài)生成內(nèi)容的數(shù)組方法演示-創(chuàng)新互聯(lián)
標題鏈接:http://weahome.cn/article/hdehd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部