3v4l.org

run code in 500+ PHP versions simultaneously
<?php const SOME_DEFAULT = 1; function validateParams(int|float|string|null ...$params) {} function dbQuery(string $query, bool $flag1 = false, int $flag2 = SOME_DEFAULT, bool $flag3 = false, array $params = []) { validateParams(...$params); var_dump( $query, $flag1, $flag2, $flag3, $params ); } dbQuery( 'foo', params: ['fizz', 'buzz', false, []] );
Output for 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.18, 8.5.0 - 8.5.3
Fatal error: Uncaught TypeError: validateParams(): Argument #4 must be of type string|int|float|null, array given, called in /in/CCMla on line 8 and defined in /in/CCMla:5 Stack trace: #0 /in/CCMla(8): validateParams('fizz', 'buzz', 0, Array) #1 /in/CCMla(18): dbQuery('foo', false, 1, false, Array) #2 {main} thrown in /in/CCMla on line 5
Process exited with code 255.
Output for 8.1.0 - 8.1.34
Fatal error: Uncaught TypeError: validateParams(): Argument #4 must be of type string|int|float|null, array given, called in /in/CCMla on line 8 and defined in /in/CCMla:5 Stack trace: #0 /in/CCMla(8): validateParams('fizz', 'buzz', 0, Array) #1 /in/CCMla(19): dbQuery('foo', false, 1, false, Array) #2 {main} thrown in /in/CCMla on line 5
Process exited with code 255.

preferences:
61.22 ms | 1021 KiB | 4 Q