PHP Generator::key() 方法
Generator::key()
方法返回生成器当前 yield 的键 ( key )。
(PHP 5 >= 5.5.0, PHP 7)
方法原型
public mixed Generator::key ( void )
从方法原型中可以看出,该方法不需要传递任何参数,但会返回生成器当前 yield 的键 ( key )。
其实该方法返回的值,就是 foreach(generate() as $k => $v )
中的 $k
。因此,这个方法和 current()
方法一样,极少自己调用,是提供给 foreach 用的。
范例
我们写一个范例演示下 key()
方法,通过对比,你就知道 key()
方法和 foreach
中的 key 是同一个值
<?php function gen_zero_to_ten() { for ($i = 1; $i <= 10; $i++) { yield $i; } } $generator = gen_zero_to_ten(); foreach ($generator as $key => $value) { echo $key , " === " ,$generator->key(), PHP_EOL; }
运行结果为
0 === 0 1 === 1 2 === 2 3 === 3 4 === 4 5 === 5 6 === 6 7 === 7 8 === 8 9 === 9