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;

Advertisements

你可能會喜歡