Php 为什么按引用传递不';不改变一个变量的值吗?

Php 为什么按引用传递不';不改变一个变量的值吗?,php,reference,pass-by-reference,Php,Reference,Pass By Reference,输出为“字符串”。但是$str指的是$string,所以$str中的更改也应该更改$string?为什么值仍然相同? 它清楚地提到,call\u user\u func()的参数不是通过引用传递的。 它清楚地提到,call\u user\u func()的参数不是通过引用传递的。call\u user\u func不是通过引用传递的。发件人: 请注意,call_user_func()的参数不是通过引用传递的 (change($string),另一方面,正如您所期望的那样,给出了“str”) 进一

输出为“字符串”。但是$str指的是$string,所以$str中的更改也应该更改$string?为什么值仍然相同?

它清楚地提到,call\u user\u func()的参数不是通过引用传递的。


它清楚地提到,call\u user\u func()的参数不是通过引用传递的。
call\u user\u func
不是通过引用传递的。发件人:

请注意,call_user_func()的参数不是通过引用传递的

change($string)
,另一方面,正如您所期望的那样,给出了
“str”


进一步阅读:

调用用户函数
不通过引用传递。发件人:

请注意,call_user_func()的参数不是通过引用传递的

change($string)
,另一方面,正如您所期望的那样,给出了
“str”


进一步阅读:

以下是您的错误消息:

$string='string';
function change(&$str){
    $str='str';
}
call_user_func('change',$string);
echo $string;

以下是您的错误消息:

$string='string';
function change(&$str){
    $str='str';
}
call_user_func('change',$string);
echo $string;

使用
call\u user\u func()不可能:

从:

请注意,call_user_func()的参数不是通过引用传递的

也就是说你仍然可以使用。使用引用现在成为可能。以下是您需要的代码:

$string='string';
function change(&$str){
    $str='str';
}
change($string);
echo $string;
但是,现在不推荐使用此解决方案

您仍然可以摆脱
call\u user\u func()
,只需执行以下操作:

function change(&$str)
{
    $str='str';
}

$string='string';
$parameters = array(&$string);
call_user_func_array('change',$parameters);
echo $string;

使用
call\u user\u func()不可能:

从:

请注意,call_user_func()的参数不是通过引用传递的

也就是说你仍然可以使用。使用引用现在成为可能。以下是您需要的代码:

$string='string';
function change(&$str){
    $str='str';
}
change($string);
echo $string;
但是,现在不推荐使用此解决方案

您仍然可以摆脱
call\u user\u func()
,只需执行以下操作:

function change(&$str)
{
    $str='str';
}

$string='string';
$parameters = array(&$string);
call_user_func_array('change',$parameters);
echo $string;