3v4l.org

run code in 300+ PHP versions simultaneously
<?php class WithCast { public function __construct(bool $bool) { } } var_dump((new ReflectionClass(WithCast::class))->newInstanceArgs(['no a bool'])); class WithoutCast { public function __construct(float $float) { } } var_dump((new ReflectionClass(WithoutCast::class))->newInstanceArgs(['no a float']));
Output for 8.0.1 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
object(WithCast)#2 (0) { } Fatal error: Uncaught TypeError: WithoutCast::__construct(): Argument #1 ($float) must be of type float, string given in /in/GYr0T:13 Stack trace: #0 [internal function]: WithoutCast->__construct('no a float') #1 /in/GYr0T(17): ReflectionClass->newInstanceArgs(Array) #2 {main} thrown in /in/GYr0T on line 13
Process exited with code 255.

preferences:
100.53 ms | 402 KiB | 89 Q