1. 程式人生 > >PHP - 變數 賦值 引用賦值等探討

PHP - 變數 賦值 引用賦值等探討

近兩天,看了PHP手冊相關部分後, 感覺有必要進一步探討變數,賦值,引用賦值等。並且認為上一篇博文有些地方沒有展開,並且地址那樣的猜測有些問題。博文的題目是:PHP-變數學習,連結[新增連結描述](https://mp.csdn.net/mdeditor/84891380#)

現在,我主要使用內建函式來幫助大家準確理解變數的有關知識。還有,你在這個節點上,至少要明白,變數的幾個概念,變數名和變數內容不是一回事,一個變數要有變數名,變數值,在PHP中,變數名前面要加$符號,變數名字的起名規範等等。至於變數是記憶體的一個連續區域,變數地址,甚至棧堆等概念,可以先不用管它。並且記住,PHP的變數名和變數值是和C語言不同的變數儲存機制。至於具體是如何儲存的,因為一個工具還沒有準備好,無法演示,況且也不容易理解,所以,先安裝下面的方式來理解。先看3個內建函式。所謂內建函式,就是PHP系統已經定義好的函式,拿來就用行了。

isset();
var_dump();
unset();

isset(); 用來檢測變數是否已設定並且變數不是 NULL。
var_dump(); 顯示關於一個或多個表示式的結構資訊,包括表示式的型別與值。什麼是表示式,自行學習吧。有時間再做詳細探討。
unset();能銷燬指定的變數。
先看下面的兩張圖,前面的是程式碼,後面的是瀏覽器顯示。注意,原點不是故意點選的。
在這裡插入圖片描述
在這裡插入圖片描述
我們可以這麼理解,PHP的變數名就像一把鑰匙或者通行證,有了它,就能夠訪問到變數值,訪問,計算機的名稱有點太擬人了吧。我的理解就是能夠顯示,操作這個變數等動作。如果我們將一個數據賦值給變數,這個變數名就取得了鑰匙或通行證。如果進一步將這個變數通過&的方式引用賦值給另一個變數,則這個新變數就擁有了鑰匙,如果原來的變數名被取消,這個新的變數名仍然可以訪問變數值。更進一步的,如果被引用賦值的第3個變數,則第3個變數也擁有了獨立的鑰匙,不管另外兩個是否存在,它仍然可以訪問變數值。用程式碼展示吧。見圖:
在這裡插入圖片描述


在這裡插入圖片描述
我現在抓緊去弄工具,爭取儘早把PHP變數的本質寫出來。當然網上也有不少,不過,自己寫理解深刻。