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 rfc.property-hooks, git.master, git.master_jit

Process exited with code 137.

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
40.43 ms | 1365 KiB | 4 Q