jm at guide42 dot com 的筆記並不準確。Generator::getReturn() 並不是檢查 return 陳述式是否存在,而是檢查函式是否已返回(執行完畢)。
<?php
function f(){
yield;
}
f()->getReturn(); // 例外:無法取得尚未返回的生成器的返回值
$f = f();
$f->next(); // NULL
$f->getReturn(); // NULL,因為沒有 return 陳述式意味著一個空的 `return;`,而 void 返回值會解析為 null。