【1】單引號和雙引號在處理變量的時候做法:
括在雙引號內的變量會解釋出值,但是括在單引號內則不做處理,直接輸出;
<?php $var = 'my name is huige'; echo "$var"; //結果是:my name is huige echo '$var'; //結果是:$var ?>
【2】如果在語句中要轉義操作,那麼就一定要用雙引號了。
比如,轉定義單引號時,寫成這樣的話:
$a = ‘He\’s name is Huige.’ ;
程序會把He\’s name is Tom.原封不動的顯示出來,如果這樣寫:
$a = “He\’s name is Huige.”;
程序就會顯示:He’s name is Tom.
====================================================
下面列舉寫轉義字符的含義(當在雙引號內使用這些字符時,它們具有特殊的含義)
====================================================
下面在來一個例子來演示了使用單引號和雙引號之間的區別:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>引號</title> </head> <body> <?php // 設置必要要的變量: $quantity = 30; // 出售30件產品. $price = 119.95; // 單價. $taxrate = .05; // 5%的發票稅. // 計算總額: $total = $quantity * $price; $total = $total + ($total * $taxrate); // Calculate and add the tax. // 格式化總額: $total = number_format ($total, 2); // 打印結果使用雙引號: echo "<h3>使用雙引號:</h3>"; echo "<p>你所出售的 <b>$quantity</b> 件產品,成本單價為 <b>\$$price</b>. 加上發票稅,總額為 <b>\$$total</b>.</p>\n"; // 打印結果使用單引號: echo '<h3>使用單引號:</h3>'; echo '<p>你所出售的 <b>$quantity</b> 件產品,成本單價為 <b>\$$price</b>. 加上發票稅,總額為 <b>\$$total</b>.</p>\n'; ?> </body> </html>
最後結果如下圖:
================================================================
================================================================
1、這個例子中用雙引號打印結果,是這篇文章(php入門變量之數字)中一個例子的單引號打印結果的另一個解決方法。
2、在這個例子中由於雙引號是能打印出變量的,所以我們把要打印的東西全部放到雙引號中,但是唯一的問題就是打印$符號問題了,要打印出$符號,我們直接進行轉義即可。
3、同時在這兩種引號內使用換行符(\n )會有什麼區別呢???
答:當把換行符(\n )置於雙引號內時,它會在HTML 源代碼中創建一個新行。當把它置於單引號內時,它會直接打印出\和n。
================================================================
FAQ:
1、在運行效率上單引號和雙引號也是有區別的,一般來說單引號的運行速度會比較快,雙引號會比較慢,原因在於雙引號要先查找語句中是否有變量,而單引號則不用,因此,如果語句中沒有代入變量盡量采用單引號。這是寫程序一種習慣,時刻想著提高程序的效率。
2、當利用PHP 打印HTML 時,使用單引號最容易。
echo '<table width="80% " border="0" cellspacing="2" cellpadding="3" align="center">';
如果想使用雙引號打印出這段HTML 代碼,將不得不對字符串中的所有雙引號進行轉義。
echo "<table width=\"80%\" border= \"0\" cellspacing=\"2\" cellpadding=\"3\" align=\" center\">";
3、如果你仍然不清楚這兩種引號之間的區別,可以使用雙引號,這樣不太可能出問題。