日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php 生成ai文件,php_Generator php 生成器

發布時間:2024/9/19 php 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php 生成ai文件,php_Generator php 生成器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

php_Generator php 生成器

一個生成器函數看起來像一個普通的函數,不同的是普通函數返回一個值,而一個生成器可以yield生成許多它所需要的值。當一個生成器被調用的時候,它返回一個可以被遍歷的對象.當你遍歷這個對象的時候(例如通過一個foreach循環),PHP 將會在每次需要值的時候調用生成器函數,并在產生一個值之后保存生成器的狀態,這樣它就可以在需要產生下一個值的時候恢復調用狀態。一旦不再需要產生更多的值,生成器函數可以簡單退出,而調用生成器的代碼還可以繼續執行,就像一個數組已經被遍歷完了.

Note:一個生成器不可以返回值: 這樣做會產生一個編譯錯誤。然而return空是一個有效的語法并且它將會終止生成器繼續執行。

yield關鍵字:

生成器函數的核心是yield關鍵字。它最簡單的調用形式看起來像一個return申明,不同之處在于普通return會返回值并終止函數的執行,而yield會返回一個值給循環調用此生成器的代碼并且只是暫停執行生成器函數。

DEMO:

// 生成器語法

function xrange($start, $limit, $step){

if ($start < $limit) {

if ($step < 0) {

throw new LogicException('step must +ve');

}

for ($i = $start; $i <= $limit; $i += $step) {

yield $i;

}

} else {

if ($step >= 0) {

throw new LogicException('step must be -ve');

}

for ($i = $step; $i >= $limit; $i += $step) {

yield $i;

}

}

}

print_r(xrange(1, 9, 2));

// 使用php生成器實現range的函數功能

$newarr = array();

foreach(xrange(1, 9, 2) as $key => $val){

array_push($newarr, $val);

}

print_r($newarr);

echo "
";

echo '使用range生成數組
';

print_r(range(1, 9, 2));

結果:

Generator Object ( )

Array ( [0] => 1 [1] => 3 [2] => 5 [3] => 7 [4] => 9 )

使用range生成數組

Array ( [0] => 1 [1] => 3 [2] => 5 [3] => 7 [4] => 9 )

php 中的yield類似于 js, python 中的 yield 作用.

總結

以上是生活随笔為你收集整理的php 生成ai文件,php_Generator php 生成器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。