我要「按引用傳遞」給我們的實習生解釋之間的差異,在PHP「按值傳遞」,並做了這個簡單的腳本:PHP通過引用傳遞/值 - 問題
$a=5;
$b=&$a;
$a=8;
echo $b;
// prints 8
$a=5;
$b=$a; //no &
$a=8;
echo $b;
// prints 5
然而,使用PHP -qa產量在PHP-CLI運行以下命令:
php > $a=5;
php > $b=&$a;
php > $a=8;
php > echo $b;
8
php > // prints 8
php > $a=5;
php > $b=$a; //no &
php > $a=8;
php > echo $b;
8
php > // prints 5
應該不是$b=$a;
取消鏈接$ a和$ b?
...所以我就curius,並嘗試:
php > $b=3;
php > echo $a;
3
那麼,爲什麼我得到這個錯了嗎?這裏發生了什麼?看起來參考設置有點困難,即使它應該在行$b=$a
清除?我也試過:
php > $e=5; $f=$e; $e=6; echo $f;
5
...其中按預期工作。
$a
和$b
似乎永久鏈接?我在這裏錯過了一些重點嗎?如何「取消鏈接」$a
和$b
變量?
你試過'未設置($ b)'在第二部分之前? –
如果您沒有明確表示相同的範圍,請不要在相同範圍內重用變量名稱。 – hakre
+1,因爲這個問題顯示瞭如何試圖向新手解釋一些東西可以幫助你更好地理解它。 – Arkh