PHP編碼規(guī)范
成都創(chuàng)新互聯(lián)公司主營庫倫網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,重慶APP開發(fā)公司,庫倫h5小程序設(shè)計搭建,庫倫網(wǎng)站營銷推廣歡迎庫倫等地區(qū)企業(yè)咨詢每行代碼的字符數(shù)應(yīng)控制在80以內(nèi)
對于只含有PHP代碼的文件,將文件結(jié)尾標(biāo)記忽略
縮進(jìn)應(yīng)該能都反映出代碼的邏輯結(jié)果,盡量使用四個空格
數(shù)據(jù)類型
數(shù)據(jù)類型是具有相同特性的一組數(shù)據(jù)的統(tǒng)稱
數(shù)據(jù)類型用來區(qū)分不同的數(shù)據(jù);由于數(shù)據(jù)在存儲時所需要的容量各不相同,不同的數(shù)據(jù)就必須要分配不同大小的內(nèi)存空間來存儲,所以就要將數(shù)據(jù)劃分成不同的數(shù)據(jù)類型。
在PHP中只要涉及到數(shù)據(jù)的地方都會涉及到數(shù)據(jù)類型。如變量、函數(shù)的參數(shù)及返回值、對象的屬性等地方都會涉及到數(shù)據(jù)類型。
PHP支持8種原始數(shù)據(jù)類型和三種偽類型。
其中原始數(shù)據(jù)類型包括:
-標(biāo)量類型(Scalar Type)
boolean(布爾型)
Integer(整型)
float(浮點(diǎn)型)
string(字符串)
-復(fù)合類型(Compound Type)
array(數(shù)組)
object(對象)
-特殊類型(Special Type)
resource(資源)
NULL(空值)
整型
整型可以使用十進(jìn)制、十六進(jìn)制、八進(jìn)制或者二進(jìn)制表示
-二進(jìn)制數(shù)字,數(shù)字前必須加上0b
-八進(jìn)制數(shù)字,數(shù)字前必須加上0
-十六進(jìn)制數(shù)字,數(shù)字前必須加上0x
如果向八進(jìn)制傳遞了一個非法數(shù)字,則后面其余數(shù)字都會被省略
整型的存儲范圍
整型的字長和平臺有關(guān)
通常大值是大約二十億(32位有符號)
64位平臺下的大值通常是大約9e18
輸出語句
輸出一個或多個字符串可以通過echo語句實(shí)現(xiàn)
echo語句的語法結(jié)構(gòu)
void echo (string $arg1 [,string $...])
如果要給echo傳遞多個參數(shù),不能使用小括號
所有輸出的參數(shù)都將轉(zhuǎn)換成字符串類型
如果要打印一個或多個表達(dá)式的結(jié)構(gòu)信息,包括表達(dá)式的類型與值,可以通過var_dump函數(shù)實(shí)現(xiàn)。
var_dump函數(shù)的語法結(jié)構(gòu):
void var_dump(mixed $expression [,mixed $...])
var_dump('php'); //輸出string(3)“PHP” var_dump(4); //輸出int(4)
使用函數(shù)
函數(shù)是一個被命名的獨(dú)立代碼段。函數(shù)用于執(zhí)行特定任務(wù),并可以給調(diào)用它的程序返回一個值。
函數(shù)類型有
-系統(tǒng)函數(shù),由PHP核心或特定的函數(shù)庫提供的函數(shù)
-自定義函數(shù),由用戶根據(jù)需要自定義的函數(shù)
調(diào)用函數(shù)的方法
返回值 函數(shù)名([參數(shù),...])
整型溢出
如果數(shù)字超出integer的范圍,將會被解釋為float
如果運(yùn)算結(jié)果超出integer范圍,也會返回float
浮點(diǎn)型
浮點(diǎn)型(也叫浮點(diǎn)數(shù)float,雙精度數(shù)double或?qū)崝?shù)real)
浮點(diǎn)型(float)數(shù)據(jù)的字長和平臺相關(guān)
通常大值是1.8e308并具有14位十進(jìn)制數(shù)字的精度
布爾型
布爾型使用關(guān)鍵字TRUE/FALSE表示。兩者不區(qū)分大小寫
布爾值結(jié)果通常會被傳遞給控制流程序語句。
字符型
字符串string就是由一系列的字符組成,其中沒個字符等同于一個字節(jié)。這意味著PHP只能支持256的字符集,因此不支持Unicode。
string大可以達(dá)到2GB。
字符串的表達(dá)方式
單引號
雙引號
Heredoc語法結(jié)構(gòu)
Nowdoc語法結(jié)構(gòu)
轉(zhuǎn)義符
屬性值 | 說明 |
換行 | |
\r | 回車 |
\t | 水平制表符 |
\v | 垂直制表符 |
\f | 換頁符 |
\\ | 反斜線 |
\$ | 美元符號 |
\' | 單引號 |
\" | 雙引號 |
字符串類型
聲明字符創(chuàng)類型變量,然后輸出
聲明帶有轉(zhuǎn)義符的字符串類型變量,然后輸出,并且通過查看瀏覽器源代碼查看結(jié)果
轉(zhuǎn)義符的引號與HTML實(shí)體的引號
PHP代碼中引號如果需要直接打印到瀏覽器,那么雙引號/單引號就必須采用HTML實(shí)體表示;如果引號需要在瀏覽器的源代碼中出現(xiàn),那么就必須采用轉(zhuǎn)義符
單引號和雙引號的區(qū)別
單引號只能解析\'和\\;雙引號可以解析所有轉(zhuǎn)義符。
單引號內(nèi)變量不能被解析;雙引號內(nèi)的變量可以被解析。
建議字符串盡量使用單引號的表示方式。這樣可以提高解析速度
花括號語法
The $str is the abbreviation of Application"; echo "I bought an $strle
";結(jié)果
The app is the abbreviation of Application
I bought an
當(dāng)PHP解析器遇到一個美元符號($)時,解析器盡量組合多的標(biāo)識以形成合法的變量名??梢杂没ɡㄌ杹砻鞔_變量名稱的界線。
正確寫法
The {$str} is the abbreviation of Application"; echo "I bought an ${str}le
";string中的字符可以通過一個從0開始的下標(biāo),用花括號包含對應(yīng)的數(shù)字的形式來訪問和修改。
$str = 'application'; echo $str{4}; //輸出i $str{4} = 't'; echo $str{4}; //輸出t
用超出字符串長度的下標(biāo)寫入將會拉長該字符串并以空格填充。非證書類型下標(biāo)會被轉(zhuǎn)換成整數(shù)。
Heredoc語法結(jié)構(gòu)
結(jié)束時所使用的標(biāo)識符必須在該行的第一列。
結(jié)束標(biāo)識符這行除分號外,不能包含其他字符。
Heredoc結(jié)構(gòu)可以解析轉(zhuǎn)義符。
Heredoc結(jié)構(gòu)內(nèi)的變量可以被解析。
Nowdoc語法結(jié)構(gòu)
結(jié)束時所使用的標(biāo)識符必須在該行的第一列。
結(jié)束標(biāo)識符這行除分號外,不能包含其他字符。
Nowdoc結(jié)構(gòu)不進(jìn)行解析操作
復(fù)合類型
允許將多個相同類型的項(xiàng)聚集起來,表示為一個實(shí)體。
復(fù)合類型可以存儲多個數(shù)據(jù)項(xiàng)
復(fù)合類型的分類
數(shù)組(Array)
對象(Object)
特殊類型
提供某種特殊用途的類型,無法歸入其他任何類型
特殊類型包括
-空值(NULL)
-資源(Resource)
空值
NULL表示一個變量沒有值
在下列情況之一的變量被認(rèn)為是NULL
-沒有賦值的變量
-變量賦值為NULL
-使用unset函數(shù)銷毀的變量
資源
一種特殊的數(shù)據(jù)類型,用來表示一種PHP的外部資源,例如數(shù)據(jù)庫訪問,文件訪問、目錄操作、圖像操作等。
程序員將永遠(yuǎn)無法直接聲明這種類型的變量,必須通過專門的函數(shù)訪問。
偽類型
本質(zhì)上來說并不是真正的數(shù)據(jù)類型
為說明某些情況而“自封”的數(shù)據(jù)類型,包括:
-混合(mixed)
-數(shù)值(number)
-回調(diào)函數(shù)(callback)
-void
混合
mixed說明參數(shù)/返回值可以是多種不同類型
mixed不一定是所有數(shù)據(jù)類型
例如:gettype()函數(shù)可以接收所有類型的參數(shù);str_replace()函數(shù)可以接收字符串類型和數(shù)組類型的參數(shù)。
數(shù)值
numbet說明參數(shù)/返回值可以是integer或者float
例如:pow()函數(shù)可以接受整型或浮點(diǎn)型的參數(shù);并且返回值的數(shù)據(jù)類型也可能為整數(shù)或浮點(diǎn)數(shù)。
pow函數(shù)用于實(shí)現(xiàn)冪運(yùn)算
語法:number pow(nukber $base,number $exp)
回調(diào)函數(shù)
回調(diào)函數(shù)以接受用戶自定義的函數(shù)作為參數(shù)。還可以是一個對象的方法,包括靜態(tài)類的方法。
void
void作為參數(shù)列表意味著函數(shù)不接受任何參數(shù)
void作為返回類型意味著函數(shù)的返回值是無用的
例如:date_default_timezone_get()函數(shù)不接受任何參數(shù)
date_default_timezone_get()函數(shù)用于獲取日期時間函數(shù)所使用的時區(qū)
語法:string date_default_timezone_get(void)
數(shù)據(jù)類型總匯
變量處理函數(shù)
變量處理函數(shù)屬于PHP核心的組成部分。也就意味這只要Web服務(wù)器支持PHP即支持變量處理函數(shù)
is_int、is_integer、is_long函數(shù)可以檢測變量是否是整數(shù)
語法:bool is_int(mixed $var)
變量處理函數(shù)還包括
is_float、is_double、is_real 檢測變量是否為浮點(diǎn)型
is_string 檢測變量是否為字符串類型
is_bool、is_boolean 檢測變量是否為布爾型
is_scalar 檢測變量是否為標(biāo)量類型
is_arry 檢測變量是否為數(shù)組
is_object 檢測變量是否為對象
is_null 檢測變量是否為空值
is_resource 檢測變量是否為資源
is_numeric 檢測變量是否為數(shù)字或數(shù)字字符串
is_callback 檢測變量是否為回調(diào)函數(shù)
is_null、empty、isset的區(qū)別
is_null函數(shù)檢測變量是否為NULL。如果為NULL,返回TRUE,否則返回FALSE
語法:bool is_null(mixed $var)
empty函數(shù)檢測檢查一個變量是否為空。如果變量是非空或非零的值,則empty()返回FALSE;否則,返回TRUE
語法:bool empty(mixed $var)
isset函數(shù)御用檢測變量是否設(shè)置,并且不是NULL
語法:bool isset(mixed $var [,mixed $...])
表達(dá)式 | gettype($n) | is_null | empty | isset |
$n | NULL | true | true | false |
$n = ""; | string | false | true | true |
$n = null; | NULL | true | true | false |
$n = arrary(); | array | false | true | true |
$n = true; | boolean | false | false | true |
$n = false; | boolean | false | true | true |
$n = "0"; | string | false | true | true |
$n = 0; | integer | false | true | true |
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。