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
热门推荐
1 泰迪狗狗如何训练
3 狗狗训练图
5 狗狗训练方法
6 训练狗狗不咬人
8 敏捷训练狗狗
10 训练狗狗吃饭
11 泰迪狗狗训练
12 狗狗从多大开始训练
13 狗狗训练学校费用
14 怎么去训练狗狗
15 狗狗训练狗狗
16 狗狗训练教程
17 训练狗狗装死
18 泰迪狗狗的训练方法