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

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

php中yield關鍵字的介紹-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務器提供商,新人活動買多久送多久,劃算不套路!

創(chuàng)新互聯(lián)公司主打移動網(wǎng)站、成都網(wǎng)站設計、成都網(wǎng)站制作、網(wǎng)站改版、網(wǎng)絡推廣、網(wǎng)站維護、域名與空間、等互聯(lián)網(wǎng)信息服務,為各行業(yè)提供服務。在技術實力的保障下,我們?yōu)榭蛻舫兄Z穩(wěn)定,放心的服務,根據(jù)網(wǎng)站的內(nèi)容與功能再決定采用什么樣的設計。最后,要實現(xiàn)符合網(wǎng)站需求的內(nèi)容、功能與設計,我們還會規(guī)劃穩(wěn)定安全的技術方案做保障。

這期內(nèi)容當中小編將會給大家?guī)碛嘘Pphp中yield關鍵字的介紹,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

1、什么yield?

該yield關鍵字從發(fā)電機函數(shù)返回數(shù)據(jù):

生成器函數(shù)的核心是yield關鍵字。以最簡單的形式,yield語句看起來很像return語句,yield不是停止函數(shù)的執(zhí)行并返回,而是為循環(huán)生成器的代碼提供一個值,并暫停生成器函數(shù)的執(zhí)行。

2、什么是生成器函數(shù)?

生成器函數(shù)實際上是編寫迭代器的一種更緊湊,更有效的方法。它允許您定義一個函數(shù)(您的xrange),該函數(shù)將

在 您遍歷該函數(shù)時_計算并返回_ 值:

foreach (xrange(1, 10) as $key => $value) {
    echo "$key => $value", PHP_EOL;
}

這將創(chuàng)建以下輸出:

0 => 1
1 => 2
…
9 => 10

您也可以控制$keyforeach使用

yield $someKey => $someValue;

在generator函數(shù)中,$someKey是您想要顯示的內(nèi)容$key$someValue是中的值$val。在問題的示例中為$i。

3、與正常功能有何不同?

現(xiàn)在您可能想知道為什么我們不僅僅使用PHP的本機range函數(shù)來實現(xiàn)該輸出。是的,你是。輸出將是相同的。區(qū)別在于我們到達那里的方式。

當我們使用rangePHP,將執(zhí)行它,在內(nèi)存中創(chuàng)建一個數(shù)字的整個陣列,并return認為 整個陣列

的foreach循環(huán),然后將去在它和輸出的值。換句話說,foreachwill將對數(shù)組本身進行操作。該range功能和foreach唯一的“交談”一次??梢詫⑵湎胂駷橥ㄟ^郵件獲取包裹。送貨員會把包裹交給您,然后離開。然后解開整個包裝,取出里面的任何東西。

當我們使用生成器函數(shù)時,PHP將逐步進入該函數(shù)并執(zhí)行,直到遇到結(jié)尾或yield關鍵字為止。當遇到a時yield,它將把當時的值返回外循環(huán)。然后,它返回到生成器函數(shù),并從產(chǎn)生的地方繼續(xù)。由于您xrange擁有一個for循環(huán),它將執(zhí)行并屈服直到$max達到。想像它foreach和發(fā)生器打乒乓球。

4、我為什么需要那個?

顯然,生成器可用于解決內(nèi)存限制。根據(jù)您的環(huán)境,執(zhí)行range(1, 1000000)遺囑會使您的腳本致命,而對生成器執(zhí)行同樣的操作會很好?;蛉鏦ikipedia所述:

由于生成器僅根據(jù)需要計算其屈服值,因此它們對于表示昂貴或無法立即計算的序列很有用。這些包括例如無限序列和實時數(shù)據(jù)流。

發(fā)電機也應該很快。但是請記住,當我們談論快速時,我們通常會以很小的數(shù)目交談。因此,在您開始運行并更改所有代碼以使用生成器之前,請進行基準測試以了解在何處有意義。

生成器的另一個用例是異步協(xié)程。該yield關鍵字不僅返回值,但它也接受他們。有關此內(nèi)容的詳細信息,請參見下面鏈接的兩個出色的博客文章。

5、從什么時候起可以使用yield?

生成器已在 PHP 5.5中

引入。嘗試使用yield該版本之前的版本會導致各種解析錯誤,具體取決于關鍵字后面的代碼。因此,如果您從該代碼中遇到了解析錯誤,請更新您的PHP。

上述就是小編為大家分享的php中yield關鍵字的介紹了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注創(chuàng)新互聯(lián)-成都網(wǎng)站建設公司行業(yè)資訊頻道。


本文題目:php中yield關鍵字的介紹-創(chuàng)新互聯(lián)
文章位置:http://weahome.cn/article/iiodg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部