Подтвердить что ты не робот

Как передать ссылку на call_user_func?

Рассмотрим следующий пример:

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

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

Здесь отображается предупреждение:

Предупреждение. Параметр 1 для myTest() должен быть ссылкой, значением приведенный в /home/alain/workspace/echo/echo.php(57): eval() 'd code on строка 7

Примечание: код, записанный в онлайн-песочнице, объясняет eval.

Любая идея, как я могу передать ссылку на семейные функции call_user_func?

4b9b3361

Ответ 1

Я нашел свой ответ в руководстве PHP:

Примечание:

Обратите внимание, что параметры для call_user_func() не передаются ссылка.

Они также дают трюк, чтобы сделать работу:

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