3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Maybe { private function __construct(private mixed $value = null) {} public static function None(): static { return new static(null); } public static function Some(mixed $v): static { return new static($v); } public function value(): mixed { return match ($this->value) { null => throw new Exception(), default => $this->value, }; } public function __invoke(callable $c): static { return match ($this->value) { null => $this, default => static::Some($c($this->value)), }; } } function double($x) { return $x * 2; } $res = Maybe::Some(30) ('double') ('chr') (fn($x) => strlen($x)); var_dump($res->value());
Output for git.master, git.master_jit, 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:
35.95 ms | 401 KiB | 8 Q