2012-12-10 70 views
13

考慮下面的例子:如何將引用傳遞給call_user_func?

function myTest(&$var) 
{ 
    $var++; 
    echo "var = {$var}\n"; 
} 

$x = 42; 
call_user_func('myTest', $x); 

它顯示警告:

警告:參數1至MYTEST()預期爲一個參考,在/ home /阿蘭/工作區的給定值 /回聲/ echo.php(57):關於 線7

注意的eval()'d代碼:寫在一個在線沙箱代碼,地名釋義中的eval。

任何想法如何我可以通過參考call_user_func家庭功能?

回答

28

,我發現我的回答對PHP manual

注:

注意,對於call_user_func()的參數不被 引用傳遞。

他們也給出了招做的工作:

$x = 42; 
call_user_func_array('myTest', array(&$x)); 
+5

你:-) –

+0

很快回答了這個** NO!這是棄用(通過引用已被棄用PHP 5.3後)!** –