<?php
function foo(&$obj) {
return $obj;
}
$o = new StdClass;
// No errors
foo($o);
call_user_func('foo', ...[&$o]);
$a[] = &$o;
$a[] = &$o;
$a[] = &$o;
// Warning: Parameter 1 to foo() expected to be a reference, value given in
call_user_func('foo', array_slice($a, 0, 1));
Warning: foo(): Argument #1 ($obj) must be passed by reference, value given in /in/IC1su on line 10
Warning: foo(): Argument #1 ($obj) must be passed by reference, value given in /in/IC1su on line 17
Warning: Parameter 1 to foo() expected to be a reference, value given in /in/IC1su on line 10
Warning: Parameter 1 to foo() expected to be a reference, value given in /in/IC1su on line 17