3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Maybe { private function __construct(private mixed $value = null) {} public static function Some(mixed $v): static { return new static($v); } public function value(): mixed { return null === $this->value ? throw new Exception() : $this->value; } public function __invoke(callable $c): static { return null===$this->value ? $this : static::Some($c($this->value)); } } function double($x) { return $x * 2; } $res = Maybe::Some(30) (double::class) (chr::class) (fn($x) => strlen($x)); var_dump($res->value());
Output for git.master_jit, git.master, rfc.property-hooks
int(1)

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:
17.26 ms | 401 KiB | 8 Q