- Output for 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
- Début Faire autre chose Il y a des résultats ? Faire autre chose Il y a des résultats ? Faire autre chose Il y a des résultats ? Fin
<?php
$generator = (function() {
$count = 3;
echo "Début\n";
while(true) {
yield; // on suspend la fonction (le générateur)
echo "Il y a des résultats ?\n";
$count--;
if ($count === 0) {
return; // On a reçu les résultats, on s'arrête
}
}
})();
$generator->current(); // Initie le traitement
do {
echo "Faire autre chose\n";
$generator->next(); // On relance la fonction (on reprend au "yield")
} while ($generator->valid()); // La fonction s'est terminée ?
echo "Fin\n";