PHP字串三種定義方式

來源:互聯網
上載者:User

簡介:這是PHP字串三種定義方式的詳細頁面,介紹了和php,有關的知識、技巧、經驗,和一些php源碼等。

class='pingjiaF' frameborder='0' src='http://biancheng.dnbcw.info/pingjia.php?id=332951' scrolling='no'>
PHP的字串有三種定義方式:單引號 、雙引號 、定界符

  1、單引號:指定一個簡單字串的最簡單的方法是用單引號(字元 ')括起來。 在被單引號括起來的字串中,要再表示一個單引號,需要用反斜線(\)轉義,和很多其它語言一樣。如果在單引號之前或字串結尾需要出現一個反斜線,需要用兩個反斜線表示。 在單引號括起來的字串中,所有的其他特殊字元,都將被完整的表示出來,也就是說:單引號字串中出現的變數和逸出序列不會被變數的值替代。

  2、雙引號:如果用雙引號(")括起字串,PHP 可以解析更多特殊字元的逸出序列:\n (換行 LF 或 ASCII 字元 0x0A(10))、\r (斷行符號(CR 或 ASCII 字元 0x0D(13))、\t (水平定位字元 HT 或 ASCII 字元 0x09(9))、\\ (反斜線) 、\$ (貨幣符號) 、\" (雙引號) 、\[0-7]{1,3} (此Regex序列匹配一個用八進位符號表示的字元)、\x[0-9A-Fa-f]{1,2} (此Regex序列匹配一個用十六進位符號表示的字元 ),除了這些轉義符,如果試圖轉義任何其它字元,反斜線本身也會被顯示出來!在 PHP 5.1.1 之前,\{$var} 中的反斜線不會被顯示出來。

  當用雙引號或者定界符指定字串時,其中的變數會被解析。 有兩種文法,一種簡單的和一種複雜的。

  簡單文法最通用和方便,它提供瞭解析變數,數組值,或者對象屬性的方法(如果遇到貨幣符號($),解析器會儘可能多地取得後面的字元以組成一個合法的變數名。如果想明示指定名字的結束,則用花括弧把變數名括起來。 同樣也可以解析數組索引或者對象屬性。對於數組索引,右方括弧(])標誌著索引的結束。對象屬性則和簡單變數適用同樣的規則,儘管對於對象屬性沒有像變數那樣的小技巧)。

  複雜文法是 PHP 4 引進的,可以用花括弧括起一個運算式(事實上,用此文法可以在字串中包含任何在名字空間的值。僅僅用和在字串之外同樣的方法寫一個運算式,然後用 { 和 } 把它包含進來。因為不能轉義“{”,此文法僅在 $ 緊跟在 { 後面時被識別(用“{\$”來得到一個字面上的“{$”)。例如:${test},{$test['t']['e']['s']['t']},{$test->test})。

  3、定界符:另一種給字串定界的方法使用定界符文法(“<<<”),它是 PHP 4 中加入的。。應該在 <<< 之後提供一個標識符,然後是字串,然後是同樣的標識符結束字串。 結束標識符必須從行的第一列開始。同樣,標識符也必須遵循 PHP 中其它任何標籤的命名規則:只能包含字母數字底線,而且必須以底線或非數字字元開始。 重要的一點必須指出,結束標識符所在的行不能包含任何其它字元,可能除了一個分號(;)之外。這尤其意味著該標識符不能被縮排,而且在分號之前和之後都不能有任何空格或定位字元。同樣重要的是要意識到在結束標識符之前的第一個字元必須是你的作業系統中定義的分行符號。例如在 Macintosh 系統中是 \r。 如果破壞了這條規則使得結束標識符不“乾淨”,則它不會被視為結束標識符,PHP 將繼續尋找下去。如果在這種情況下找不到合適的結束標識符,將會導致一個在指令碼最後一行出現的語法錯誤。 不能用定界符文法初始化類成員。用其它字串文法替代。

   定界符文本表現的就和雙引號字串一樣,只是沒有雙引號。這意味著在定界符文本中不需要轉義引號,不過仍然可以用以上列出來的轉義代碼。變數會被展開,但當在定界符文本中表達複雜變數時和字串一樣同樣也要注意。

“PHP字串三種定義方式”的更多相關文章 》

愛J2EE關注Java邁克爾傑克遜視頻站JSON線上工具

http://biancheng.dnbcw.info/php/332951.html pageNo:11

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.