ConFoo 2025

Generator::key

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

Generator::keyyield したキーを取得する

説明

public Generator::key(): mixed

yield した値のキーを取得します。

パラメータ

この関数にはパラメータはありません。

戻り値

yield したキーを返します。

例1 Generator::key() の例

<?php

function Gen()
{
yield
'key' => 'value';
}

$gen = Gen();

echo
"{$gen->key()} => {$gen->current()}";

上の例の出力は以下となります。

key => value

add a note

User Contributed Notes 1 note

up
1
jasonrlester at yahoo dot com
2 years ago
This is important when considering how other Generators work such as JavaScript's an Python's. While PHP's generator has the ->valid() method they don't, or an equivalent. JS uses Iterator protocol which says next() should return an object of

{
done: bool,
value: mixed
}

In which case you can use keys->done to see if the generator can still be iterated.
To Top