3v4l.org

run code in 300+ PHP versions simultaneously
<?php function foo(&$bar) { $bar = 1; return 1; } $arg = 0; $called = 0; $called=call_user_func_array2('foo', array(0)); var_dump(array('arg'=>$arg, 'called'=>$called)); $arg = 0; $called = 0; $called=call_user_func_array2('foo', array($arg)); var_dump(array('arg'=>$arg, 'called'=>$called)); $arg = 0; $called = 0; $called=call_user_func_array2('foo', array(&$arg)); var_dump(array('arg'=>$arg, 'called'=>$called)); function call_user_func_array2($f, $args) { $args2=array(); foreach($args as $k=>$v) $args2[$k] = &$args[$k]; return call_user_func_array($f, $args2); }

preferences:
30.42 ms | 402 KiB | 5 Q