【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、如果你仍然不清楚这两种引号之间的区别,可以使用双引号,这样不太可能出问题。