php變數詳細講解
基本定義
變數就是包含了一個名稱和一個值的「標識符」。
通過下圖來理解一個變數:
$a這變數,我們給它賦值1,就等於這個變數引用或者指代「1」這個數值,我們對$a變數進行操作其實就是對這個數據1進行操作。
•形式:變數必須以$開頭,後面緊跟變數名
注意:通常,在「能夠出現」變數的語法中,只要出現$符號,並在其後出現緊挨著的字元,就會被識別為一個變數,即使不存在該變數,比如:
echo 「$是美元符號」;//這裡就會報錯,它把"$是美元符號"當成一個變數了。要解決這個問題,可以把雙引號改為單引號,或者用轉義字元\,「\$是美元符號」這個就不會報錯。
變數的基本使用
定義變數(賦值):直接給變數賦值,就是定義;
不支持js中的那種「定義但不賦值」的語法。
Advertisements
換句話說,第一次給一個變數賦值,就算定義變數。
取值:所有需要一個變數值的語句中,就會取得該變數的值,常見包括:
輸出:echo $a;//取得$a的值,並輸出
給其他變數賦值$b = $a;//取得$a的值,並賦值給$b
參與運算:$c = $va + 3;//取得$a的值,並跟3相加,。。。。
判斷變數是否存在isset()
存在,就返回true,不存在就返回false
實際上,如果一個變數的值是null,返回的也是false
只會輸出a:true
修改變數值(賦值):
第二次及以後給一個變數賦值,就算修改變數值
刪除unset():就是斷開變數名跟數據之間的「引用關係」
命名規則
通常命名包括變數名,函數名,常量名,類名,介面名,等等。。。。
Advertisements
這裡介紹的命名規則,是相對通用的,有個別地方或許有一些細節出入,通常盡量不涉及不常見情形。
基本規則:
1,只能使用大小寫字母,下劃線(_),數字
2,數字不能開頭
3,不能跟所在環境(系統)的關鍵字重名(比如if, for, function.....
行業規則(潛規則):
基本規則,保證的是語法的正確性。
行業規則,保證的是是否能得到別人的尊重!
行業規則中,有如下幾種常用的命名規則:
1,駝峰命名法:
示例:name, myName, myFatherName
2,帕斯卡命名法:
示例:Name, MyName, MyFatherName
3,下劃線間隔法:
示例:name, my_ame, my_father_name
變數間的傳值方式
總體說明:
1,這裡討論的傳值方式是指:一個變數對另一個變數
2,它不僅僅適用於賦值語句,也適用於其他有同樣含義的語句,比如:函數的實參到形參
3,傳值方式只有2種:值傳遞,引用傳遞
4,php中,所有變數,默認都是值傳遞。
5,要想使用引用傳遞,必須使用引用傳遞的符號: &
值傳遞
是指將一個變數的數據值(數據內容)拷貝一份,然後賦值給另一個變數,這樣兩個變數就互不影響了。
$v1 = 1;
$v2 = $v1;
引用傳遞
是指將一個變數的引用關係拷貝一份,然後賦值給另一個變數,即另一個變數也同樣由該關係決定了指向某個數據:
$v1 = 1;
$v2 = &$v1;
引用傳遞,要在變數前面加一個&符號。它是複製引用關係,所以某一個數據內容改變,會影響另外一個,但是某一個變數的引用關係刪除(例如:unset($v1),$v2不受影響),另一個不會受影響。
可變變數
所謂可變變數,就是一個變數的名,又是一個變數。
可變變數的語法是php的很特殊的語法——其他語言中少見。
怎麼理解:
1、凡是$符號出現,就會有可能理解為是一個變數
2、這裡第一個「$」出現了,則php就視圖將其解釋為一個變數,變數名是$v1;
3、我們有知道,$v1的值是」abc」,
4、那麼,第一個「$」符號後面的變數名,就得到為「abc」
5、即:echo 試圖輸出的是變數$abc, 自然是數字10
實際上,理論上,可變變數的嵌套還可以更多,比如:$$$abc;