PHP中的變量、常量和運算符

PHP變量 

命名規範

Ø 必須以$符開始

Ø 聲明變量時一般使用英文,也可以使用數字,但是不能以數字開頭。

Ø 不可以使用特殊字符,但是下劃線_除外

Ø 變量名嚴格區分大小寫

可變變量              

Ø 可變變量只是變量的一種可以在開頭連續使用多個$符號

Ø 理論上$可以無限使用,實際中一般指使用2$

Ø 結合方式:結合方式是從右到左依次結合一個$ 

引用賦值

變量2=&變量1

更改其中一個變量(1 也好2也罷) 剩下那個變量也會跟着更改這就是引用賦值

相關功能

Ø 刪除變量的功能 unset();

Ø 檢測變量是否設置值  isset();

只要賦值且不是null的數據那麼檢測結果都爲true

如果變量爲賦值或者賦值爲null 那麼檢測結果爲false

 

Ø 檢測變量值爲空的功能:empty();

int         0

float       0.0

string      ''0

booleam    false

array      空數組

object    對象都不爲空

resource  資源都不爲空

null      本身就爲空

返回true表示變量爲空,返回false表示變量不爲空

 

PHP常量

常量的概述

通常不會改變的量就是常量

常量的定義  

Ø define('常量名','常量值',ture/false);

注意:第三個參數是可選參數,默認false

注意事項:

常量名:

             常量名開頭不可以使用$;

             聲明常量不要使用中文,要用使用英文,推薦大寫

             可以使用數字,但是不能以數字開頭

             不可以使用特殊字符,除了下劃線

             常量名要有意義

             常量是否區分大小寫,有define的第三個參數決定。true是不區分大小寫,默認false,區分大小寫

u  常量值:

                 PHP版本<7  常量的值僅能在標量中選取

                PHP版本>=7 常量的值僅能在標量或者數組中選取

 

Ø PHP版本>5.3之後可以使用    

使用  const關鍵字聲明常量

格式:const常量名=常量值

該方法只有聲明和define不同,其他規則都相同。

Ø 區別:

const不能再流程控制中定義,而define 可以定義

記住: 

只要不在類中聲明常量其他地方都使用define

如果在類中聲明常量則使用const來定義

常量的特點

Ø 常量一旦定義就不可以在改變其值.

Ø 常量習慣上使用大寫

Ø 常量如果聲明就要有值。如果不聲明就將該常量名稱,當做字符串來處理

系統的魔術常量

Ø __FILE__  表示當前文件相對於系統的絕對路徑

Ø __LINE__  表示當前常量所在的行

Ø __FUNCTION__ 可以在函數中獲取當前函數的名稱

Ø __CLASS__  表示當前常量所在的class的名稱

Ø __METHOD__  表示當前常量所在的類和方法名

 

相關的幾個功能

Ø constant() 獲取一個常量值的功能

  作用:和echo差不多,但當一個常量名是一個字符串的時候,才能發揮

             constant的作用

格式:

  返回常量值=constant()

Ø get_defined_constants() 獲取當前定義的所有常量集合,返回一個數組

Ø defined() 檢測一個常量是否被定義

  格式:

    返回結果變量=defined('檢測的常量名')

  其返回值爲布爾值。

PHP運算符

注意:運算符的兩邊要給個空格。增加代碼的可讀性。

字符串運算符

PHP中字符串運算符就是用來連接字符串的符號,在PHP中只有一個.(英文狀態下的點)

賦值運算符

 =  普通賦值運算符 爲變量和常量賦值

 +=  加法賦值運算符

 $num = 10;

 $num += 5;

 //完成格式$num=$num+5;

 -=   減法賦值運算符

 *=  乘法賦值運算符

 /=   除法賦值運算符

 %=  取模賦值運算符

 .=   字符串賦值運算符

比較運算符

 >   大於

 <   小於

 >=   大於等於

 <=   小於等於

 ==   等於      只判斷值,不判斷類型

 !=   不等於    值不相等就爲真

 ===  全等於    值和類型都相等

 !==   非全等於  除了全等其餘都是非全等

算術運算符

 +  -  *  /

  %(求餘或取模)

 ++(自增運算)  

  --(自減運算)

 

自增自減運算需要注意事項

自增或者自減運算就是在原值的基礎上進行+1或者-1的操作

在進行自增或者自減運算時,運算符符號可以在變量前也可以在變量後,但是意義不一樣

如果自增或者自減的運算符在變量前,表示先將當前變量進行+1操作,然後使用該變量如果運算符在變量後,則表示先使用當前變量在進行自增或者自減運算。

(一定要理解先使用在進行

比如:$a=15

$b=10

$c=$a++ + $b++  

// ++先使用 $c=15+10 $a=16 $b=11 

自增自減運算對布爾值無效,一般也不用與數組對象資源等類型。常用與整型

邏輯運算符

Ø 邏輯與運算  && 或者 and (一般用&&,因爲and的優先級比&&的低)

兩個值都爲真時,結果爲真。其餘情況都爲假

 

Ø 邏輯或運算 || 或者 or (也有優先級的高低)

兩個值有一個爲真結果就爲真。

只有兩個值都爲假時,結果才爲假。

 

Ø 邏輯非運算  ! 或者 not一般不用not(也有優先級高低的問題)

在變量前面   真變假,假變真。

 

Ø 邏輯異或運算  xor 

相同爲假 不同爲真。 

位運算符

位運算符是在二進制的基礎上進行的。

Ø 按位與

  在二進制的基礎上對每一位進行邏輯與運算  比如:

$no1=15; //二進制就是1111

$no2=8;  //二進制就是1000

$result =$no1 & no2

//二進制的1000也就是8  從個位到千位一個一個進行與運算

 

 

Ø 按位或  | 

在二進制的基礎上對每一位進行邏輯或運算

 

Ø 按位異或 ^

在二進制的基礎上對每一位進行邏輯異或運算

 

Ø 按位非 ~

在二進制的基礎上對每一位進行邏輯非運算。

注意:如果是二進制第一位符號位爲1 則該數爲負數。是負數,載二進 制中必須反碼,在補碼+1

PS:有一定的規律 。

$no1=19;

$no2=~$no1;

//$no2=-20  

 

Ø 左移 <<

在二進制的基礎上將所有二進制的數值想左移動1位,移動之後的空白位置補0,效果類似乘以2

$a=128;

$b=$a>>2;

//$b=128*2^2(移動幾位^)每一次移動都表示"乘以2" 

 

Ø 右移 >>

在二進制的基礎上將所有二進制的數值想右移動1位,移動之後移出的最後一位會被刪除 效果類似除以2

其他運算符

Ø 錯誤抑制符 @

  用於屏蔽單行錯誤,對於多行無效,儘量少用@符號,效率太低。

 

Ø 三元運算符 ? (類似於if

格式:

條件?真值:假值

根據條件的真假決定取真值還是假值

如果格式條件結果爲true,那麼就將真值賦值給變量

如果格式條件結果爲false,那麼就將假值賦給變量

 

 -> 對象成員訪問

 => 數組元素訪問符號

 , 聲明多變量的分隔符 for循環的第一個參數使用

 ``(反引號)用於執行系統命令

運算符的優先級

解決運算符優先級的最好辦法,推薦使用()

在手冊中可查看優先級。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章