PHP-變數學習
學習程式語言,必須對變數有認識,認識越深刻,就也有利於對程式的深刻認識。
PHP中的變數雖然有自己的特點,但本質上和其他語言的變數是一樣的。
-
變數的宣告和賦值:
$num;
有點詭異,單純宣告變數不需要像C語言那樣前面放上int string等,奇怪的是,放上反而出錯。不用管了,PHP習慣上都是宣告和賦值是一起的。
2. 變數的賦值
$num = 5;
不要把這裡的 “=” 等同於數學的等號,這裡可以將這個讀作,將5賦值給變數
**開頭的,後面是變數名。再舉一個例子,和上面的一起見下圖。前面一張是程式碼部分,後面一張是執行結果。
3. 變數的比喻和本質
有的書上會打比喻來幫助大家理解變數,比如有的這麼說,變數就像一個貼有名字標籤的空盒子,有的會說是容器,貌似更抽象一些。但這些比喻容易讓人摸不著頭腦,其實變數就是電腦塊記憶體,至於什麼是記憶體,如果有興趣,自己學習。而變數名,這個名是存在於塊記憶體以外的另一個地方。塊記憶體是有地址的。這塊記憶體存放有你賦值給變數的值,這個值隨著程式執行或你賦值的變化而變化,所以叫變數。有了這些,待會理解變數的其他內容,就容易理解了。
4. 其他有關變數的說明
變數名稱最好是英文的,並且能夠反映變數內容,做到望文生義最好,比如前面的$num 就是英文number的通常縮寫。表示這個變數是存放數字的。
我們使用變數,比如輸出變數,是輸出變數的值。比如,我們寫echo
bignum =
num表示它的值,塊記憶體中的5複製進$bignum這個變數的地址內。至於是不是複製,怎麼複製的,不知道,只要知道是將值傳給新的變數即可。
引用賦值,這個引用漢語有時容易讓人摸不著頭腦,如果你知道英文是reference 或者對 refer to有理解,這個就容易了。或者,我們是將符號&(在其他語言是取址符號,PHP大概率也是,就是把變數的地址賦給傳給新的變數)比如:
KaTeX parse error: Expected 'EOF', got '&' at position 10: newnum = &̲num; 就是將變數
newnum; 我猜想是將
newnum. 這樣
num值 5. 其實我們可以大膽猜想,變數就是變數名通過地址指向變數塊記憶體的。
引用賦值後,新變數和老變數都指向老變數的塊記憶體,如果改變新變數的值,就是改變了塊記憶體的值,所以老變數的值也變數,就是老變數也變了。當然,反之亦然。
我們舉例,看圖和瀏覽結果:
好了,就到這裡,變數的剩餘部分,等學了函式後,才能進一步討論。
不當之處,請批評指正。
另附:我已經專門用程式碼的形式討論了變數,賦值,引用賦值。連結是
新增連結描述