在考慮其他產生器(例如 JavaScript 和 Python 的產生器)如何運作時,這一點很重要。雖然 PHP 的產生器具有 ->valid() 方法,但它們沒有,或者沒有等效的方法。JS 使用迭代器協定,該協定規定 next() 應該返回一個包含以下內容的物件:
{
done: 布林值,
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: 布林值,
value: mixed
}
在這種情況下,您可以使用 keys->done 來查看產生器是否仍然可以迭代。