Middle
Чӣ гуна кор мекунад генератор дар PHP?
sobes.tech AI
Ҷавоб аз AI
Генератор — это функция, которая возвращает итератор. Он позволяет проходить по набору данных, не загружая весь массив в память, используя ключевое слово yield. При каждом вызове yield выполнение функции приостанавливается, возвращается значение, а состояние функции сохраняется. При следующем вызове next(), выполнение итератора продолжается с места последней остановки.
<?php
function numberGenerator($limit) {
for ($i = 1; $i <= $limit; $i++) {
yield $i; // Приостанавливает выполнение и возвращает значение
}
}
$numbers = numberGenerator(5);
foreach ($numbers as $number) {
echo $number . " "; // Выводит: 1 2 3 4 5
}
?>
Артықшылықтары:
- Хәтерді үнемдеу: Үлкен мәліметтер көлемін толық жүктемей өңдеуге мүмкіндік береді.
- Күту жүктеу: Мәндер сұраныс бойынша, қажет болғанда, генерацияланады.
- Өнімділікті арттыру кейбір тапсырмалар үшін, мысалы, үлкен файлдарды оқу үшін.
Үлкен жиынтықтар бойынша қайталау, файлдарды жол бойынша оқу, шексіз тізбектерді жүзеге асыру үшін пайдаланылады.