1. 程式人生 > >PHP 初識 隨筆記錄

PHP 初識 隨筆記錄

var_dump():  檢視某個表示式的值和型別
gettype() :得到一個易讀懂的型別的表達方式用於除錯
is_type  :  要檢視某個型別,不要用 gettype(),而用 is_type    如is_int($a)
settype(): 將一個變數強制轉換為某型別

標量型別
boolean(布林型) 
integer(整型) 
float(浮點型,也稱作 double) 
string(字串) 

複合型別
array(陣列) 
object(物件)
 
特殊型別

resource(資源) 
NULL(無型別) 

偽型別 
mixed(混合型別) 
number(數字型別) 
callback(回撥型別) 

偽變數
$


String 字串


4 種方式表達: 

1.單引號

定義一個字串的最簡單的方法是用單引號把它包圍起來(字元 ')。 
要表達一個單引號自身,需在它的前面加個反斜線(\)來轉義。要表達一個反斜線自身,則用兩個反斜線(\\)。
其它任何方式的反斜線都會被當成反斜線本身:也就是說如果想使用其它轉義序列例如 \r 或者 \n,並不代表任何特殊含義,就單純是這兩個字元本身。
注:不像雙引號和 heredoc 語法結構,在單引號字串中的變數和特殊字元的轉義序列將不會被替換


2.雙引號 

表達一個單引號自身,需在它的前面加個反斜線(\)來轉義。要表達一個反斜線自身,則用兩個反斜線(\\)。
其它任何方式的反斜線都會被當成反斜線本身:也就是說如果想使用其它轉義序列例如 \r 或者 \n,並不代表任何特殊含義,就單純是這兩個字元本身。
注:不像雙引號和 heredoc 語法結構,在單引號字串中的變數和特殊字元的轉義序列將不會被替換

如果字串是包圍在雙引號(")中, PHP 將對一些特殊的字元進行解析:

轉義字元

序列 含義
\n  換行(ASCII 字符集中的 LF 或 0x0A (10)) 
\r  回車(ASCII 字符集中的 CR 或 0x0D (13)) 
\t   水平製表符(ASCII 字符集中的 HT 或 0x09 (9))
\v   垂直製表符(ASCII 字符集中的 VT 或 0x0B (11))(自 PHP 5.2.5 起)
\e  Escape(ASCII 字符集中的 ESC 或 0x1B (27))(自 PHP 5.4.0 起) 
\f   換頁(ASCII 字符集中的 FF 或 0x0C (12))(自 PHP 5.2.5 起)
\\  反斜線 
\$  美元標記 
\"   雙引號
\[0-7]{1,3}    符合該正則表示式序列的是一個以八進位制方式來表達的字元
\x[0-9A-Fa-f]{1,2}  符合該正則表示式序列的是一個以十六進位制方式來表達的字元 

注:用雙引號定義的字串最重要的特徵是變數會被解析 


3.heredoc 語法結構 

<<< 在該運算子之後要提供一個識別符號,然後換行。接下來是字串 string 本身,最後要用前面定義的識別符號作為結束標誌。 
結束時所引用的識別符號必須在該行的第一列,而且,識別符號的命名也要像其它標籤一樣遵守 PHP 的規則:只能包含字母、數字和下劃線,並且必須以字母和下劃線作為開頭

注:要注意的是結束識別符號這行除了可能有一個分號(;)外,絕對不能包含其它字元。這意味著識別符號不能縮排,分號的前後也不能有任何空白或製表符。更重要的是結束識別符號的前面必須是個被本地作業系統認可的換行,比如在 UNIX 和 Mac OS X 系統中是 \n,而結束定界符(可能其後有個分號)之後也必須緊跟一個換行。 
如果不遵守該規則導致結束標識不"乾淨",PHP 將認為它不是結束識別符號而繼續尋找。如果在檔案結束前也沒有找到一個正確的結束識別符號,PHP 將會在最後一行產生一個解析錯誤。 



4.nowdoc 語法結構(自 PHP 5.3.0 起) 
就象 heredoc 結構類似於雙引號字串,Nowdoc 結構是類似於單引號字串的。Nowdoc 結構很象 heredoc 結構,但是 nowdoc 中不進行解析操作。這種結構很適合用於嵌入 PHP 程式碼或其它大段文字而無需對其中的特殊字元進行轉義。與 SGML 的 <![CDATA[ ]]> 結構是用來宣告大段的不用解析的文字類似,nowdoc 結構也有相同的特徵。 
一個 nowdoc 結構也用和 heredocs 結構一樣的標記 <<<, 但是跟在後面的識別符號要用單引號括起來,即 <<<'EOT'。Heredoc 結構的所有規則也同樣適用於 nowdoc 結構,尤其是結束識別符號的規則。