PHP 8.4.2 Released!

Generator::key

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

Generator::keyGet the yielded key

Description

public Generator::key(): mixed

Gets the key of the yielded value.

Parameters

This function has no parameters.

Return Values

Returns the yielded key.

Examples

Example #1 Generator::key() example

<?php

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

$gen = Gen();

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

The above example will output:

key => value

add a note

User Contributed Notes 1 note

up
0
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