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 . ' ';
}

PHP просмотров: 74

Комментарии

Ваш комментарий будет первым.
Войдите, чтобы оставить комментарий.