3v4l.org

run code in 300+ PHP versions simultaneously
<?php final class Foo { public bool $bar; public array $baz; public function __construct( bool $bar = false, array $baz = [], ) { $this->bar = $bar; $this->baz = $baz; } } final class Bar { public bool $bar = false; public array $baz = []; public function __construct( bool $bar = false, array $baz = [], ) { $this->bar = $bar; $this->baz = $baz; } } $create = static fn(string $class): object => (new \ReflectionClass($class))->newInstanceWithoutConstructor(); var_dump($create(Foo::class)); var_dump($create(Bar::class));
Output for 8.0.1 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
object(Foo)#3 (0) { ["bar"]=> uninitialized(bool) ["baz"]=> uninitialized(array) } object(Bar)#2 (2) { ["bar"]=> bool(false) ["baz"]=> array(0) { } }

preferences:
72.35 ms | 407 KiB | 5 Q