PHP Conference Japan 2024

Generator::key

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

Generator::key取得產生的鍵值

說明

public Generator::key(): mixed

取得 yield 值的鍵值。

參數

此函式沒有參數。

回傳值

回傳產生的鍵值。

範例

範例 #1 Generator::key() 範例

<?php

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

$gen = Gen();

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

上述範例將會輸出

key => value

新增註解

使用者貢獻的註解 1 則註解

1
jasonrlester at yahoo dot com
2 年前
在考慮其他產生器(例如 JavaScript 和 Python 的產生器)如何運作時,這一點很重要。雖然 PHP 的產生器具有 ->valid() 方法,但它們沒有,或者沒有等效的方法。JS 使用迭代器協定,該協定規定 next() 應該返回一個包含以下內容的物件:

{
done: 布林值,
value: mixed
}

在這種情況下,您可以使用 keys->done 來查看產生器是否仍然可以迭代。
To Top