PHP: yield в PHP для создания генератора
В этом примере generate_numbers - это функция-генератор, которая принимает два аргумента - начальное и конечное значение. Она содержит цикл for, который перебирает все числа от $start до $end и каждое число возвращает с помощью оператора yield.
При вызове функции generate_numbers(1, 10) создается объект-генератор, который можно перебирать с помощью цикла foreach. В этом цикле для каждого значения, возвращенного генератором, вызывается echo. Результат выполнения этого примера будет вывод чисел от 1 до 10 через пробел.
function generate_numbers( $start, $end ) { for( $i = $start; $i <= $end; $i++ ) { yield $i; } } foreach( generate_numbers( 1, 10 ) as $number ) { echo $number . ' '; }
Комментарии