Я пытаюсь выполнить назначение fizzbuzz.php из PHP и MySQL, веб-разработка, 5-е издание, стр. 193. Я набрал его точно так же, как в книге, но получаю (T_CONSTANT_ENCAPSED_STRING) ошибку синтаксического анализа (строка 9), когда я запускаю его.
Я пытался заменить yeild на echo, но затем я получаю неправильную ошибку использования функции в строке 27 (функция foreach).
Я пытался избежать "with \ but"это дает мне синтаксическую ошибку, неожиданную строку.
Я пытался использовать 'вместо', но получаю ошибку enacapsed string.
<?php
function fizzbuzz($start, $end)
{
$current = $start;
while ($current <= $end)
{
if ($current%3 == 0 && $current%5 == 0)
{
yield "fizzbuzz";
}
elseif ($current%3 == 0)
{
yield "fizz";
}
elseif ($current%5 == 0)
{
yield "buzz";
}
else
{
yield $current;
}
$current++;
}
}
foreach(fizzbuzz(1, 20) as $number)
{
echo $number.'<br />';
}
?>
Изменение yeild на echo возвращает строку чисел и строки fizz buzzно они не в том порядке, в котором они должны быть, и все еще есть ошибка функции в строке 27.
Возможно, что-то опечатка, но я проверял это снова и снова, и вот как этозаписано в книге.