3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Awaitable { private $callbacks = []; function when(callable $cb) { $this->callbacks[] = $cb; } function resolve($error, $value) { if ($value instanceof Awaitable) { $value->when(function($e, $v) { $this->resolve($e, $v); }); } else { $this->doResolve($error, $value); } } private function doResolve($error, $value) { foreach ($this->callbacks as $cb) { $cb($error, $value); } } } $awaitables = []; $first = null; $last = null; for ($i = 0; $i < 100000000; $i++) { $awaitable = new Awaitable; if (!$first) { $first = $awaitable; $last = $awaitable; } else { $last->resolve(null, $awaitable); } } $last->resolve(null, 42);

Abusive script

This script was stopped while abusing our resources

Output for 5.5.0 - 5.5.35, 5.6.0 - 5.6.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.7, 7.2.29 - 7.2.33, 7.3.16 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.29, 8.2.0 - 8.2.23, 8.3.0 - 8.3.11

Process exited with code 137.

preferences:
94.83 ms | 1368 KiB | 4 Q