php中的單引號、雙引號和逸出字元

來源:互聯網
上載者:User
php中的單引號、雙引號和逸出字元 http://blog.csdn.net/river131/article/details/9186203
分類: PHP筆記 2013-06-27 11:37  875人閱讀  評論(0)  收藏  舉報 逸出字元 PHP

PHP單引號及雙引號均可以修飾字串類型的資料,如果修飾的字串中含有變數(例$name);最大的區別是: 雙引號會替換變數的值,而單引號會把它當做字串輸出。

例如:

<?php

         $name="string";

        echo  " 字串" . '$name';

        echo   "字串" .  "$name"; 

?>

結果:

         字串$name

         字串string

 

 

逸出字元,顧名思義會將規定的文法用"\"來輸出。但文法規定在不同的系統中逸出字元的作用不同,例如:windows下的斷行符號分行符號用"\r"或"\n",而Linux 這兩就有很大的區別:"\r"游標回到行首,但還在本行; "\n"表示下一行,不會回到行首。

PHP中的逸出字元有:       

                                            " \n" ==>換行               

                                             "\r"==>斷行符號           

                                             "\t"==>水平定位字元       

                                             "\\"==> 反斜線

                                            "\$" ==>貨幣符號    

                                              " \' "==>單引號     

                                              " \" " ==>雙引號 

                                              " \[0-7]{1,3}  "            Regex匹配一個八進位符號表示的字元

                                             " \x[0-9A-Fa-f]{1,2} "    Regex匹配一個十六進位符號表示的字元

 

 

 

在PHP中,可以使用 echo() 和 print() 語句發送資料到Web瀏覽器,也可以使用它們發送HTML 程式碼到Web瀏覽器。從技術上講,echo() 和 print() 是語言構造,而不是函數,這裡用了一對括弧,從而有助於與變數以及PHP的其他部分區分開。這兩個語句本質上沒有什麼區別,因此用那一個都不會產生任何問題。這依個人習慣。它們不區分大小字。

在PHP中,理解單引號與雙引號有什麼區別是重要的。當所發送的資料中涉及到單引號和雙引號時,在列印雙引號時使用單引號,反之亦然,如:

echo 'She said,"How are you?"'

print "I'm just ducky.";

或者,通過在有問題的字元前面放置一個反斜線,對它進行轉義:

echo "She said,\"How are you?\" ";

print 'I\'m just ducky.';

在PHP中,封閉在單引號內的值將照字面意義進行處理,而封閉在雙引號內的值則將被解釋。換句話說,把變數和特殊字元(見表1)放在雙引號內將導致列印出它們所表示的值,而不是它們的字面值。如:

$var = 'test';

代碼echo "var is equal to $var"; 將列印出 var is equal to test,而代碼echo 'var is equal to $var'; 將列印出var is equal to $var。使用一個轉義的貨幣符號,代碼echo"\$var is equal to $var"; 將列印出$var is equal to test,而代碼echo '\$var is equal to $var'; 將列印出\$var is equal to $var。

表1 當在雙引號內使用這些字元時,它們具有特殊的含義

 

 

逸出字元代碼 逸出字元的含義
\ " 雙引號
\ ' 單引號
\ \ 反斜線
\ n 分行符號
\ r 斷行符號符
\ t 定位字元
\ $ 貨幣符號

 

 

正如以上例子所說明的,雙引號將用變數的值(test)代替它的名稱($var),並用特殊字元表示的值($)代替它的代碼(\$)。單引號總是準確地列印你輸入的內容,除了轉義的單引號(\')和轉義的反斜線(\\)之外,它們將分別被列印為一個單引號和一個反斜線。

提示:

1、由於PHP將試圖找出那些需要將其值插入到雙引號內的變數,所以從理論上講,使用單引號要快一些。但是,如果需要列印一個變數的值,則必須使用雙引號。

2、因為有效HTML常常包括許多用雙引號括住的屬性,所以當利用PHP列印HTML時,使用單引號最容易。

echo '<table width="200" border="1" cellspacing="5" cellpadding="2" align="center">';

如果想使用雙引號列印出上面這段HTML代碼,將不得不對字串中的所有雙引號進行轉義,所以相對來說較麻煩。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.