3v4l.org

run code in 300+ PHP versions simultaneously
<?php declare(strict_types=1); class Foo { public int $baz { set (int|string|stdClass $value) { if (is_int($value)) { $this->baz = $value; } else { if ($value instanceof stdClass && property_exists($value, 'baz') && is_int($value->baz) ) { $this->baz = $value->baz; } else { if (is_numeric($value)) { $this->baz = (int)$value; } else { throw new InvalidArgumentException('Invalid value'); } } } } } } $obj = new stdClass(); $obj->baz = 123; $foo = new Foo(); $foo->baz = $obj; var_dump($obj);
Output for git.master_jit
object(stdClass)#1 (1) { ["baz"]=> int(123) }

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:
141.67 ms | 999 KiB | 7 Q