3v4l.org

run code in 300+ PHP versions simultaneously
<?php $fiber = new Fiber(function() { $count = 3; echo "Début\n"; while(true) { Fiber::suspend(); // on suspend la fiber echo "Il y a des résultats ?\n"; $count--; if ($count === 0) { return; // On a reçu les résultats, on s'arrête } } }); $fiber->start(); // Initie le traitement do { echo "Faire autre chose\n"; $fiber->resume(); // On relance la fiber } while (!$fiber->isTerminated()); // La fiber s'est terminée echo "Fin\n";
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

preferences:
47.67 ms | 406 KiB | 5 Q