在考虑其他生成器(如 JavaScript 和 Python 的生成器)的工作方式时,这一点很重要。虽然 PHP 的生成器具有 ->valid() 方法,但它们没有此方法,或者没有等效方法。JS 使用迭代器协议,该协议规定 next() 应返回一个包含以下内容的对象:
{
done: bool,
value: mixed
}
在这种情况下,可以使用 keys->done 来查看生成器是否仍然可以迭代。
(PHP 5 >= 5.5.0, PHP 7, PHP 8)
Generator::key — 获取生成的值的键
此函数没有参数。
返回生成的值的键。
示例 #1 Generator::key() 示例
<?php
function Gen()
{
yield 'key' => 'value';
}
$gen = Gen();
echo "{$gen->key()} => {$gen->current()}";
上面的示例将输出
key => value
在考虑其他生成器(如 JavaScript 和 Python 的生成器)的工作方式时,这一点很重要。虽然 PHP 的生成器具有 ->valid() 方法,但它们没有此方法,或者没有等效方法。JS 使用迭代器协议,该协议规定 next() 应返回一个包含以下内容的对象:
{
done: bool,
value: mixed
}
在这种情况下,可以使用 keys->done 来查看生成器是否仍然可以迭代。