2012-07-23 30 views
-4
<?php 
function zz(& $x) 
{ 
    $x=$x+5; 
} 

$x=10; 
zz($x); 
echo $x; 

我使用了上面的代码,但我不知道&符号的含义。使用&运算符的PHP函数

+0

这不是一个运营商。 – 2012-07-23 06:44:54

+0

为什么你使用上面的代码,如果你不知道'&'符号的含义是什么? – rid 2012-07-23 06:47:33

+0

@Radu:货物的崇拜心态。 – 2012-07-23 06:48:19

回答

5

这是指passing a variable by reference

为了更好地理解这意味着什么,也许试试玩一下。 Run it with the ampersandrun it without the ampersand。你会注意到没有&符号,$x保持为10,因为变量$x是按值传递的。这意味着只有值10被传递给函数;当它被更新时,这对外部范围没有影响。 使用符号,变量$x以这样一种方式传递,即变量可以由函数修改。

1

的&装置通过引用传递变量的变量。在这种情况下,函数外部的x增加5,如果&不存在,则不会增加。

+1

你是什么意思“绕过参考变量”? – rid 2012-07-23 06:53:34

+0

对不起,我纠正了这一点。 – Ali 2012-07-23 06:58:23

0

&后面跟着$variable指定您要发送变量的地址,以便变量引用地址的值得到更新而不是值。

您可以通过引用一个函数来传递一个变量,以便该函数可以修改该变量。有关更多信息,请参见Passing by Reference

+0

你确定你打算把它放在一个PHP的问题? – 2012-07-23 06:47:35

+0

好吧,有点困惑。但是,这个概念是一样的,反正,删除了C++的东西,并用PHP取代。谢谢。 :) – 2012-07-23 06:49:14

+0

地址不会更新。地址保持不变。值得到更新。 – rid 2012-07-23 06:52:23