Я использую PHP 7.1.15.С помощью следующей функции я пытаюсь вывести либо отсутствующую запись, либо дать генератор позже
public function myFunc($doc)
{
$trans = $this->getTranslations($doc);
foreach ($this->keys as $key) {
if (array_key_exists($key, $trans)) {
yield $trans[$key];
}
echo "missing ".$key."<br>";
}
}
Но в моем случае я не получаю эхо - когда я перебираю генератор, эхоявляется его частью.
foreach($translation as $trans){
var_dump($trans);
}
Выход выглядит следующим образом
string(33) "key1 text"
missing key1
string(27) "key2 text"
missing key2
string(29) "key3 text"
missing key3
Любая идея, почему это происходит?
РЕДАКТИРОВАТЬ: я знаю, что доходность невести себя как возвращение.Речь идет о поведении эха - поэтому я создал выходной пример.