2012-07-23 29 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