3v4l.org

run code in 500+ PHP versions simultaneously
<?php class Wrapper { public function foo (&...$args) { return $this->dostuff(...$args); } public function dostuff($param1, $param2, &$arr) { $arr[] = $param1; $arr[] = $param2; return count($arr); } } $values = [1,2]; $a=3; $b=4; $obj = new Wrapper(); #all parameter must be variables here because there are by ref now $count = $obj->foo($a,$b, $values); echo "Elements count: $count\r\n"; print_r($values); //Expected [1,2,3,4]
Output for 7.0.33, 8.0.1 - 8.0.30, 8.1.0 - 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.21, 8.5.0 - 8.5.7
Elements count: 4 Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 )

preferences:
70.08 ms | 1130 KiB | 4 Q