PHP 收益关键字
示例
一条yield语句与return语句相似,只不过yield并不会停止执行函数并返回,而是返回了Generator对象并暂停了Generator函数的执行。
这是范围函数的示例,写为生成器:
function gen_one_to_three() {
for ($i = 1; $i <= 3; $i++) {
//注意,$i在收益率之间保留。
yield $i;
}
}您可以通过检查以下输出看到此函数返回Generator对象var_dump:
var_dump(gen_one_to_three())
# Outputs:
class Generator (0) {
}屈服价值
然后可以像数组一样遍历Generator对象。
foreach (gen_one_to_three() as $value) {
echo "$value\n";
}上面的示例将输出:
1 2 3
通过键产生价值
除了产生值之外,您还可以产生键/值对。
function gen_one_to_three() {
$keys = ["first", "second", "third"];
for ($i = 1; $i <= 3; $i++) {
//注意,$i在收益率之间保留。
yield $keys[$i - 1] => $i;
}
}
foreach (gen_one_to_three() as $key => $value) {
echo "$key: $value\n";
}上面的示例将输出:
first: 1 second: 2 third: 3
热门推荐
10 新年门口花束祝福语简短
11 盘锦结婚祝福语大全简短
12 父母生日祝福语 简短独特
13 家庭恩爱祝福语简短英文
14 高考俄语祝福语大全简短
15 虎年祝福语 诗句唯美简短
16 生日婚礼祝福语简短精辟
17 虎年喝酒拜年祝福语简短
18 教师闺蜜祝福语简短