3v4l.org

run code in 300+ PHP versions simultaneously
<?php declare(strict_types=1); function foo(int $x, int $y = 2, ?int &$z = null) { var_dump(func_num_args()); $z = $x ** 2; return $x * $y; } var_dump([foo(5, z: $a), $a]); var_dump([foo(3)]);
Output for 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
int(3) array(2) { [0]=> int(10) [1]=> int(25) } int(1) array(1) { [0]=> int(6) }

preferences:
47.12 ms | 406 KiB | 5 Q