變數的引用,其實就是不同名字的變數指向同乙個記憶體位址的內容。
通俗了說,黃河也叫濟水。指的是同一條河流,現代人都叫黃河,就相當於 「unset(濟水)」,可是黃河是存在的,只是刪掉了 濟水 這個名字而已。
先秦時期的荀子在辯論「白馬飛馬」等哲學論題時就提出了名實之間劃定界限,一物可有多名,而多名並非多物。
言歸正傳:
舉例<?php
$a = "123";
$b = &$a;
echo $b; //輸出123;
echo $a; //輸出123;
$b="456";
echo $a; // 輸出456
當$b重新賦值時,則記憶體中的內容發生了變化,但是,$a和$b都沒有被銷毀,依然指向同乙個位址,因此,$a輸出456;
假設$b在重新複製之前被銷毀,如下
<?php
$a = "123";
$b = &$a;
unset($b);
$b="456";
echo $a; // 輸出123
此時,相當於$b被重新定義並賦值,$b和$a則是兩個位址指向的兩個值,兩者可以說是沒有關係,所以,$a的值,沒有變化。
php關於變數的引用機制
昨天晚上躺在床上輾轉反側,睡也睡不踏實,思來想去的也不知道在想什麼,工作的這段時間裡發現自己都變蒼老了,心情隨筆就到這,好了,我們步入正題。1.變數的引用,php中的 a hello world 定義乙個變數,下面賦值給 b b a 這一步實際上原理是會將變數 a複製拷貝乙份,也就是記憶體中重新申請...
php引用變數
php引用變數 cow copy on write php變數在賦值的時候不會新開闢乙個記憶體空間,只有在變數有改變操作的時候才會開闢新的記憶體空間 定義變數a a range 0,10000 var dump memory get usage 將變數a賦值給變數b b a var dump mem...
php 引用變數
定義 不同變數名指向同一變數內容 位址 符號 定義變數 a,記憶體開闢乙個空間儲存 a a指向該空間 a a 定義變數 b,因為cow copy on write 特性,a,b都引向 a b a 如果改變 a的值,記憶體又開闢空間儲存,a指向該空間。此時 b還是指向原來的空間 a hello 可以使...