21

次の例を考えてみましょう。

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

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

警告が表示されます:

警告:myTest()のパラメーター1は参照であると予想され、値は/home/alain/workspace/echo/echo.php(57)で指定されています:7行目のeval()コード

注:evalを説明する、オンラインサンドボックスに記述されたコード。

call_user_func家族の機能への参照を渡す方法はありますか?

4

1 に答える 1

39

私はPHPマニュアルで私の答えを見つけました:

ノート:

call_user_func()のパラメーターは参照によって渡されないことに注意してください。

彼らはまた、仕事をするためのトリックを与えます:

$x = 42;
call_user_func_array('myTest', array(&$x));
于 2012-12-10T09:49:43.923 に答える