下面是输出“15”的代码,为什么?
function zz(&$x){
$x = $x + 5;
}
$x = 10;
zz($x);
echo $x;
请解释
答案 0 :(得分:6)
按设计工作。使用&
通过引用传递$x
,意味着函数对变量执行的任何操作都将对设置为$x
的原始10
进行。
如果您使用
function zz($x)
原始$x
将保留在10
,因为只有变量值会传递给该函数。
答案 1 :(得分:3)
你传递的值是因为参数不是变量的直接值,而是传递By引用,所以它给你15作为输出。
谢谢!
答案 2 :(得分:2)
因为函数签名定义传递给函数的值应该通过引用传递。
如果您不知道这意味着什么,我建议您阅读this paragraph on Wikipedia。
答案 3 :(得分:1)
添加&表示您通过引用传递$ x变量。外部值在函数内更改,而不是在更改函数中的副本。
答案 4 :(得分:1)
答案 5 :(得分:1)
使用& &符号:通过参考传递met函数中的目的。
它只是改变原始变量并将其再次返回到相同的变量名称,并赋予其新值。