3v4l.org

run code in 300+ 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.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.28, 8.4.1 - 8.4.14, 8.5.0
Elements count: 4 Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 )
Output for 8.4.15
/bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.35' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.34' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15)
Process exited with code 1.

preferences:
104.82 ms | 407 KiB | 5 Q