首頁 >後端開發 >PHP問題 >php基礎語法規則梳理

php基礎語法規則梳理

王林
王林轉載
2019-09-05 11:21:014136瀏覽

php基礎語法規則梳理

PHP基礎語法:

##php變數必須以」$」開頭,例如:$name、$age

不能以數字開頭,最後依照駝峰命名法

寫在」」引號中的變數最好用{ } 括起來,以免出現末端有字元不解析的情況

二、php資料型別

標量資料型別:字串型、整數、浮點數型、布林型

複合資料型別:陣列、物件

特殊資料型態:資源、NULL

1、整數

取值範圍:-21億~21億

2、浮點型

#取值範圍:-1.7E-308~1.7E 308

由於浮點數不能轉換成精確的二進制,所以有時在運輸時會出現錯誤,例如:(0.7 0.1)*10==8 結果為false

#3、字串型

3-1、雙引​​號

##雙引號解析變量的值
3-2、單引號

單引號解析變數的名稱

3-3、長字串

$Str =  ….填入字串內容

heredoc ;   結尾「heredoc」必須另起一行,分號結束

3-4、資源類型

對第三方外掛程式等的操作,如呼叫mysql資料庫等,第三方的內容稱為資源

3-5、布林型

#只有true或false兩種型別值

3-6、NULL型

如果變數不存在,回傳NULL,空型只有一個值,就是NULL

3-7、陣列

a、陣列的分類

1、索引陣列

陣列的下標是從0開始的正整數,這樣的陣列稱為「索引數組」

$arr=array(10,20,30,40);

$arr[0]=10;


#2、關聯陣列

陣列的下標是字串,這樣的陣列稱為「關聯陣列」$arr=array(“name”=>”Tabb ”,”sex”=>”gender”,”age”=>”22”);

由於關聯數組沒有整數型下標,所以不適合使用for迴圈來遍歷
#3、混合陣列

陣列下標既有整數型,也有字串,這樣的陣列稱為「混合陣列」

$arr = array("name" => "tabb", "age" => "20", "tom", 20);

echo $arr[0] 輸出結果為「tom」;說明整數型下標是從”tom”開始計算的

b、數組的創建


1、使用array()函數建立數組

透過「=>」重載符號給陣列元素指定下標

#如果陣列元素沒有指定下標,其下標為,目前最大索引1,範例:

$arr=array(20=>”tabb”,2=>”28”,20,”tom”) 其中”20”的索引為21,如果都是字元下標,那麼沒有指定下標的元素,索引從0開始

使用array建立陣列:

$arr = array([$key=>]$value,[$key=>]$ value,…);

2、使用[]建立陣列

#$arr[“key”]=$value

不像js,可以不用先宣告一個空數組,如果指定的數組不存在,會自動創建數組

#[ ] 中括號內容為空時,創建數組

$arr[ ]= 30;如果數組不存在,就會建立一個數組,並且添加第一個元素

如果數組存在,添加數組的元素的下標,是數組中的最大整形下標1

c、多維數組

array(array(1,2,3,4),1,2,3,array(1, 2,3,4))

使用[ ]中括號可以快速建立多維數組:$arr[ ][ ][ ][ ]=10; 快速建立一個4維數組

d、陣列相關函數

1、print_r()


列印關於變數的易於理解的訊息

如果給出的數組或對象,按照一定格式顯示鍵和元素

2、unset()

###刪除數組元素,刪除的是數組元素的值,下標還存在,不同於js的長度不變,此處刪除元素後,數組長度發生變化#######刪除變數########3、count( )#########計算數組中的單元數目或物件中的屬性個數#############4、foreach()只能遍歷數組###### ###foreach( $arr as [$key=>]$value ){ } 如果是索引數組,[$key=>]這個內容可以不要###

三、php資料型別判斷

1、var_dump()

印變數的相關訊息,可以列印多個變量,用」,」逗號隔開

2、 is_*()  一組判斷變數類型的方法,傳回一個布林值

#is_bool():判斷變數是不是布林型

is_int():判斷變數是不是整數

is_float ():判斷變數是不是浮點型

#is_numeric():判斷變數是數值型

s_string():判斷變數是不是字串型

is_array():判斷變數是不是陣列型

is_object():判斷變數是不是物件類型

is_null():判斷變數是空型

is_resource():判斷變數是不是資源型

#3、isset()

偵測變數是否設定

回傳值:如果變數存在,且不等於NULL,回傳true,否則,傳回false

4、empty()

偵測變數是否為空,例如””,0,”0”,null,array(),var $var 以及沒有任何屬性的物件都會被視為空,如果為空,回傳值TRUE

四、資料類型的轉換

(1)轉換為bool值 (bool)

$a = "0";

$result = (bool)$a;

var_dump($result)  結果為: bool(false)

這些資料轉換為bool值時為false:0、0.0、」”、”0”、array()、null

資源型別轉換為bool永遠為true

(2)轉換成整數數值 (int)  (int)$name

1.如果以數值開頭的字串,則將整數部分轉換為整數數值,移除後面的字元

2.如果不是數值開頭的字串,轉換為0

3.bool值true轉換為1,false轉換為0,null轉換為0

(3)轉換為浮點數值 (float)  (float)$name

1.如果以數值開頭的字串,則將數字部分轉換為數值(包含浮點部分),去除後面的字元

2.如果不是數值開頭的字串,轉換為0

3.bool值true轉換為1,false轉換為0,null轉換為0

(4)轉換為字串 (string)  (string)$name

1.null、false轉換為」”,空字串

2.true轉換為字串「1」

五、運算子優先權

(1)數值運算子( 、-、/ 、*、%、 、--)

使用方法與js中的使用方法基本相同

(2)字串運算子

“.”點運算符表示字串連結符,與js中用」 號拼接字串類似

$a=”abc”;

$b=$a.100  或使用」.=”表示自己與自己連結字串:$a.=100

(3)賦值運算子(=、 =、-=、*=、/=、%=)基本上與js相同

(4)比較運算子(>、=、

範例:10= =「10px」  結果為:true;在包含數字的運算中「10px」會先轉換為數值

舉例:10===「10px」  結果為:false; 全等比較,包含資料型別

(5)    邏輯運算子(&&、||、!)基本上與js相同

(6)    三元運算子(表達式?結果1:結果2)基本上與js相同

(7)    運算子優先權

php基礎語法規則梳理

推薦影片教學:PHP影片教學

以上是php基礎語法規則梳理的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:cnblogs.com。如有侵權,請聯絡admin@php.cn刪除

相關文章

看更多