3v4l.org

run code in 500+ PHP versions simultaneously
<?php set_error_handler( function ( int $errorNo, string $errorString, string $file, int $line ) { echo PHP_EOL . "Catched!: $errorString"; }, E_ALL ); rtrim(null); function foo($param_optional = null, $param_required) { // some code }
Output for 7.4.29
Output for 8.1.5 - 8.1.34, 8.2.0 - 8.2.34, 8.3.0 - 8.3.35
Deprecated: Optional parameter $param_optional declared before required parameter $param_required is implicitly treated as a required parameter in /in/U9tBQ on line 17 Catched!: rtrim(): Passing null to parameter #1 ($string) of type string is deprecated
Output for 8.0.18
Deprecated: Required parameter $param_required follows optional parameter $param_optional in /in/U9tBQ on line 17
Output for 8.4.1 - 8.4.26, 8.5.0 - 8.5.11
Deprecated: foo(): Optional parameter $param_optional declared before required parameter $param_required is implicitly treated as a required parameter in /in/U9tBQ on line 17 Catched!: rtrim(): Passing null to parameter #1 ($string) of type string is deprecated

preferences:
39.81 ms | 1147 KiB | 11 Q