3v4l.org

run code in 300+ PHP versions simultaneously
<?php $initialString = "Hello, PHP"; $myFunc = function($myFunc, $n = 3, &$initialString){ if($n >= 0){ $initialString .= ", " . $initialString; $temp = $myFunc($myFunc, $n - 1, $initialString); return $temp; } return $initialString; }; echo $myFunc($myFunc, 3, $initialString);
Output for 8.4.1 - 8.4.18, 8.5.0 - 8.5.3
Deprecated: {closure:/in/Aa2Rd:4}(): Optional parameter $n declared before required parameter $initialString is implicitly treated as a required parameter in /in/Aa2Rd on line 4 Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP
Output for 8.1.0 - 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30
Deprecated: Optional parameter $n declared before required parameter $initialString is implicitly treated as a required parameter in /in/Aa2Rd on line 4 Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP
Output for 8.0.0 - 8.0.30
Deprecated: Required parameter $initialString follows optional parameter $n in /in/Aa2Rd on line 4 Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP
Output for 5.6.38 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33
Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP, Hello, PHP

preferences:
99.4 ms | 1846 KiB | 4 Q