鍍金池/ 問答/PHP/ 這段php代碼中,為什么第三個echo $a變成了EFG,我的理解echo $a

這段php代碼中,為什么第三個echo $a變成了EFG,我的理解echo $a 仍然是ABC?。?/h1>

<?php
$a="ABC";
$b =&$a;
echo $a; //這里輸出:ABC
echo $b;//這里輸出:ABC
$b="EFG";
echo $a;//這里$a的值變?yōu)镋FG 所以輸出EFG
echo $b;//這里輸出EFG 因為改變的是同一個值。
?>

回答
編輯回答
法克魷

$b =&$a;是引用賦值,此時變量$b和$a執(zhí)行的是相同的內(nèi)存地址。
當(dāng)修改$b時,$a的值也同時被修改。

https://segmentfault.com/a/11...

2018年1月15日 19:18
編輯回答
不舍棄

&在php中是引用的意思$b =&$a; 使$b$a指向同一個內(nèi)存,所以改變b的值a也會變

2017年6月14日 22:28
編輯回答
萌吟

你可以把引用理解為指針。指向的是一塊內(nèi)存地址 而內(nèi)存地址就是存放你變量的地方

2017年11月16日 21:45
編輯回答
忘了我

因為你創(chuàng)建了引用

$b = &$a 

這個時候就創(chuàng)建了對應(yīng)關(guān)系,意味著b與a共用一塊內(nèi)存空間。b改變所以a改變了

2017年7月14日 04:08
編輯回答
糖豆豆

重點是$b =&$a;這個賦值語句。$b實際上指向了$a的內(nèi)存地址。
當(dāng)對$b賦值的時候,實際上會改變$a的值。
如果你的第一個賦值語句是$b=$a;則對$b再賦值,就不會改變$a的值了。

2017年6月18日 17:58