定義變量所在的位置對(duì)調(diào)用的影響如何判斷?
<?php
$a="123";
$b=$a;
$c = &$a;
$a = "321";
echo $b;
echo "<br/>";
echo $c;
?>
此代碼中, $c所在的位置是在二次定義的$a的上方,為何$c調(diào)用的值不是首次定義的123,而是下方的321?
<?php
$a="123";
$b=$a;
$c = &$a;
$a = "321";
echo $b;
echo "<br/>";
echo $c;
?>
此代碼中, $c所在的位置是在二次定義的$a的上方,為何$c調(diào)用的值不是首次定義的123,而是下方的321?
2018-12-25
舉報(bào)
2019-08-19
其實(shí)可以這樣理解:
$a 他剛開始=123的,而后面你又賦予了¥a=321
假如你不加&的話,那么就是直接=123,這個(gè)值
假如你加了&的話,那么得到的就是最新的=321這個(gè)值
就算你后面再填寫一行代碼$a = "333"; 加了$的會(huì)直接變化成333這個(gè)值
2019-01-22
第二次定義a的時(shí)候,系統(tǒng)給a分配的內(nèi)存地址沒(méi)有變,還是上次那塊地址,里面裝的東西變成了新的。
讓c也指向那塊地址后,輸出的c自然也就是新的a值。
2018-12-28
順序從上往下排就可以,首先$a=123;的,當(dāng)$c = &$a; 的時(shí)候$c就等于123;然后$a從新被定義為321,這時(shí)候取$c的值還是要被$a賦值的,所以$c就變成了321
2018-12-25
因?yàn)槟愕腸取了a的地址后,a中的值有再次刷新呀