是否可以使用 call_user_func_array() 通过引用传递参数?

2022-01-03 00:00:00 reference callback php

使用 call_user_func_array() 时,我想通过引用传递参数.我该怎么做.例如

When using call_user_func_array() I want to pass a parameter by reference. How would I do this. For example

function toBeCalled( &$parameter ) {
    //...Do Something...
}

$changingVar = 'passThis';
$parameters = array( $changingVar );
call_user_func_array( 'toBeCalled', $parameters );

推荐答案

要使用call_user_func_array()通过引用传递,数组中的参数必须是引用 - 它不依赖于函数定义是否通过引用传递.例如,这将起作用:

To pass by reference using call_user_func_array(), the parameter in the array must be a reference - it does not depend on the function definition whether or not it is passed by reference. For example, this would work:

function toBeCalled( &$parameter ) {
    //...Do Something...
}

$changingVar = 'passThis';
$parameters = array( &$changingVar );
call_user_func_array( 'toBeCalled', $parameters );

查看call_user_func_array() 函数文档 了解更多信息.

See the notes on the call_user_func_array() function documentation for more information.

相关文章