PHP編碼規(guī)范
創(chuàng)新互聯(lián)專注于棗莊企業(yè)網(wǎng)站建設,響應式網(wǎng)站設計,商城網(wǎng)站開發(fā)。棗莊網(wǎng)站建設公司,為棗莊等地區(qū)提供建站服務。全流程按需網(wǎng)站制作,專業(yè)設計,全程項目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務
每行代碼的字符數(shù)應控制在80以內
對于只含有PHP代碼的文件,將文件結尾標記忽略
縮進應該能都反映出代碼的邏輯結果,盡量使用四個空格
數(shù)據(jù)類型
數(shù)據(jù)類型是具有相同特性的一組數(shù)據(jù)的統(tǒng)稱
數(shù)據(jù)類型用來區(qū)分不同的數(shù)據(jù);由于數(shù)據(jù)在存儲時所需要的容量各不相同,不同的數(shù)據(jù)就必須要分配不同大小的內存空間來存儲,所以就要將數(shù)據(jù)劃分成不同的數(shù)據(jù)類型。
在PHP中只要涉及到數(shù)據(jù)的地方都會涉及到數(shù)據(jù)類型。如變量、函數(shù)的參數(shù)及返回值、對象的屬性等地方都會涉及到數(shù)據(jù)類型。
PHP支持8種原始數(shù)據(jù)類型和三種偽類型。
其中原始數(shù)據(jù)類型包括:
-標量類型(Scalar Type)
boolean(布爾型)
Integer(整型)
float(浮點型)
string(字符串)
-復合類型(Compound Type)
array(數(shù)組)
object(對象)
-特殊類型(Special Type)
resource(資源)
NULL(空值)
整型
整型可以使用十進制、十六進制、八進制或者二進制表示
-二進制數(shù)字,數(shù)字前必須加上0b
-八進制數(shù)字,數(shù)字前必須加上0
-十六進制數(shù)字,數(shù)字前必須加上0x
如果向八進制傳遞了一個非法數(shù)字,則后面其余數(shù)字都會被省略
整型的存儲范圍
整型的字長和平臺有關
通常最大值是大約二十億(32位有符號)
64位平臺下的最大值通常是大約9e18
<?php echo PHP_INT_MAX; //輸出Integer的最大值 echo PHP_INT_SIZE; //輸出Integer值的字長
輸出語句
輸出一個或多個字符串可以通過echo語句實現(xiàn)
echo語句的語法結構
void echo (string $arg1 [,string $...])
<?php echo ("Hello World"); //輸出 Hello World echo "Hello World"; //輸出 Hello World echo "Hi," , "Hello World"; //輸出 Hi,Hello World echo 3 //輸出 3,數(shù)字3已經(jīng)被轉換成字符串“3”
如果要給echo傳遞多個參數(shù),不能使用小括號
所有輸出的參數(shù)都將轉換成字符串類型
如果要打印一個或多個表達式的結構信息,包括表達式的類型與值,可以通過var_dump函數(shù)實現(xiàn)。
var_dump函數(shù)的語法結構:
void var_dump(mixed $expression [,mixed $...])
<?php
var_dump('php'); //輸出string(3)“PHP” var_dump(4); //輸出int(4)
使用函數(shù)
函數(shù)是一個被命名的獨立代碼段。函數(shù)用于執(zhí)行特定任務,并可以給調用它的程序返回一個值。
函數(shù)類型有
-系統(tǒng)函數(shù),由PHP核心或特定的函數(shù)庫提供的函數(shù)
-自定義函數(shù),由用戶根據(jù)需要自定義的函數(shù)
調用函數(shù)的方法
返回值 函數(shù)名([參數(shù),...])
整型溢出
如果數(shù)字超出integer的范圍,將會被解釋為float
如果運算結果超出integer范圍,也會返回float
<?php $d = 2147483649; var_dump($d); //輸出float(2147483649) $n = 2147483640; var_dump($n); //輸出int(2147483640) $t = 88; var_dump($t); //輸出int(88) $f = $n + $t; var_dump($f); //輸出float(2147483728)
浮點型
浮點型(也叫浮點數(shù)float,雙精度數(shù)double或實數(shù)real)
浮點型(float)數(shù)據(jù)的字長和平臺相關
通常最大值是1.8e308并具有14位十進制數(shù)字的精度
布爾型
布爾型使用關鍵字TRUE/FALSE表示。兩者不區(qū)分大小寫
布爾值結果通常會被傳遞給控制流程序語句。
<?php $isHot = true; $isDeleted = false; var_dump($isHot); //輸出bool(true) var_dump($isDeleted); //輸出bool(false)
字符型
字符串string就是由一系列的字符組成,其中沒個字符等同于一個字節(jié)。這意味著PHP只能支持256的字符集,因此不支持Unicode。
string最大可以達到2GB。
字符串的表達方式
單引號
雙引號
Heredoc語法結構
Nowdoc語法結構
<?php $str1 = 'PHP'; $str2 = "String"; var_dump($str1); //輸出 string(3)“php” var_dump($str2); //輸出 string(6)“String”
轉義符
屬性值 | 說明 |
\n | 換行 |
\r | 回車 |
\t | 水平制表符 |
\v | 垂直制表符 |
\f | 換頁符 |
\\ | 反斜線 |
\$ | 美元符號 |
\' | 單引號 |
\" | 雙引號 |
字符串類型
聲明字符創(chuàng)類型變量,然后輸出
聲明帶有轉義符的字符串類型變量,然后輸出,并且通過查看瀏覽器源代碼查看結果
轉義符的引號與HTML實體的引號
PHP代碼中引號如果需要直接打印到瀏覽器,那么雙引號/單引號就必須采用HTML實體表示;如果引號需要在瀏覽器的源代碼中出現(xiàn),那么就必須采用轉義符
單引號和雙引號的區(qū)別
單引號只能解析\'和\\;雙引號可以解析所有轉義符。
單引號內變量不能被解析;雙引號內的變量可以被解析。
建議字符串盡量使用單引號的表示方式。這樣可以提高解析速度
花括號語法
<?php $str = 'app'; echo "<p> The $str is the abbreviation of Application</p>"; echo "<p> I bought an $strle</p>";
結果
The app is the abbreviation of Application
I bought an
當PHP解析器遇到一個美元符號($)時,解析器盡量組合多的標識以形成合法的變量名。可以用花括號來明確變量名稱的界線。
正確寫法
<?php $str = 'app'; echo "<p> The {$str} is the abbreviation of Application</p>"; echo "<p> I bought an ${str}le</p>";
string中的字符可以通過一個從0開始的下標,用花括號包含對應的數(shù)字的形式來訪問和修改。
<?php
$str = 'application'; echo $str{4}; //輸出i $str{4} = 't'; echo $str{4}; //輸出t
用超出字符串長度的下標寫入將會拉長該字符串并以空格填充。非證書類型下標會被轉換成整數(shù)。
Heredoc語法結構
<?php $str = <<< EOD Example of string spanning multiple lines using heredoc syntax EOD; ?>
結束時所使用的標識符必須在該行的第一列。
結束標識符這行除分號外,不能包含其他字符。
Heredoc結構可以解析轉義符。
Heredoc結構內的變量可以被解析。
Nowdoc語法結構
<?php $str = <<< 'EOD' Example of string spanning multiple lines using heredoc syntax EOD; ?>
結束時所使用的標識符必須在該行的第一列。
結束標識符這行除分號外,不能包含其他字符。
Nowdoc結構不進行解析操作
復合類型
允許將多個相同類型的項聚集起來,表示為一個實體。
復合類型可以存儲多個數(shù)據(jù)項
復合類型的分類
數(shù)組(Array)
對象(Object)
<?php $arr = array(34,67,8,25); //數(shù)組 $obj = new stdClass(); //對象 echo gettype($arr); //輸出array echo gettype($obj); //輸出object ?>
特殊類型
提供某種特殊用途的類型,無法歸入其他任何類型
特殊類型包括
-空值(NULL)
-資源(Resource)
空值
NULL表示一個變量沒有值
在下列情況之一的變量被認為是NULL
-沒有賦值的變量
-變量賦值為NULL
-使用unset函數(shù)銷毀的變量
<?php var_dump($username); //輸出NULL $password = null; var_dump($password); //輸出NULL $age = 26; unset($age); var_dump($age); //輸出NULL
資源
一種特殊的數(shù)據(jù)類型,用來表示一種PHP的外部資源,例如數(shù)據(jù)庫訪問,文件訪問、目錄操作、圖像操作等。
程序員將永遠無法直接聲明這種類型的變量,必須通過專門的函數(shù)訪問。
偽類型
本質上來說并不是真正的數(shù)據(jù)類型
為說明某些情況而“自封”的數(shù)據(jù)類型,包括:
-混合(mixed)
-數(shù)值(number)
-回調函數(shù)(callback)
-void
混合
mixed說明參數(shù)/返回值可以是多種不同類型
mixed不一定是所有數(shù)據(jù)類型
例如:gettype()函數(shù)可以接收所有類型的參數(shù);str_replace()函數(shù)可以接收字符串類型和數(shù)組類型的參數(shù)。
<?php $i=3; $n=0.5; $t='1'; echo gettype($i); echo gettype($n); echo gettype($t);
數(shù)值
numbet說明參數(shù)/返回值可以是integer或者float
例如:pow()函數(shù)可以接受整型或浮點型的參數(shù);并且返回值的數(shù)據(jù)類型也可能為整數(shù)或浮點數(shù)。
pow函數(shù)用于實現(xiàn)冪運算
語法:number pow(nukber $base,number $exp)
<?php var_dump(pow(2,8)); var_dump(pow(2.5,2));
回調函數(shù)
回調函數(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)
<?php echo date_default_timezone_get();
數(shù)據(jù)類型總匯
變量處理函數(shù)
變量處理函數(shù)屬于PHP核心的組成部分。也就意味這只要Web服務器支持PHP即支持變量處理函數(shù)
is_int、is_integer、is_long函數(shù)可以檢測變量是否是整數(shù)
語法:bool is_int(mixed $var)
<?php var_dump(is_int(23)); //bool(true) var_dump(is_int("23")); //bool(false) var_dump(is_int(23.5)); //bool(false) var_dump(is_int(NULL)); //bool(false)
變量處理函數(shù)還包括
is_float、is_double、is_real 檢測變量是否為浮點型
is_string 檢測變量是否為字符串類型
is_bool、is_boolean 檢測變量是否為布爾型
is_scalar 檢測變量是否為標量類型
is_arry 檢測變量是否為數(shù)組
is_object 檢測變量是否為對象
is_null 檢測變量是否為空值
is_resource 檢測變量是否為資源
is_numeric 檢測變量是否為數(shù)字或數(shù)字字符串
is_callback 檢測變量是否為回調函數(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ù)御用檢測變量是否設置,并且不是NULL
語法:bool isset(mixed $var [,mixed $...])
表達式 | 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 |
當前標題:PHP編碼規(guī)范
分享鏈接:http://www.chinadenli.net/article22/pgegcc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供服務器托管、網(wǎng)站制作、定制開發(fā)、App設計、Google、云服務器
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)