Be aware the call_user_func_array always returns by value, as demonstrated here...<?php function &foo(&$a) { return $a; } $b = 2; $c =& call_user_func_array('foo', array(&$b)); $c++; echo $b . ' ' . $c; ?>outputs 2 3, rather than the expected 3 3.Here is a function you can use in place of call_user_func_array which returns a reference to the result of the function call. <?php function &ref_cal