(实用篇)PHP中单引号与双引号的区别分析

在PHP中,我们可以使用单引号或者双引号来表示字符串。不过我们作为开发者,应该了解其中的区别。单引号与双引号对于定义字符一个是可以解析变量一个是会把变量直接输出来,同时单引号与双引号在字符处理上单引号要优与双引号

①转义的字符不同

单引号和双引号中都可以使用转义字符(\),但只能转义在单引号中引起来的单引号和转义转义符本身。如果用双引号(“”)括起字符串,PHP懂得更多特殊字符串的转义序列。

<?php
$str1 = ‘\‘,\\,\r\n\t\v\$\"‘;
echo $str1,‘<br />‘;
$str2 = "\",\\,a\r\n\tb\v\$\‘";
echo $str2,‘<br />‘;
?>

②对变量的解析不同

单引号字符串中出现的变量不会被变量值替代。即PHP不会解析单引号中的变量,而是将变量名原样输出。双引号字符串最重要的一点是其中的变量名会被变量值替代,即可以解析双引号中包含的变量。

<?php
$age = 20;
$str1 = ‘I am $age years old‘;
$str2 = "I am $age years old";
echo $str1,‘<br />‘; // I am $age years old
echo $str2,‘<br />‘; // I am 20 years old;
?>

③解析速度不同

单引号不需要考虑变量的解析,速度比双引号快.推荐用单引号.有的时候双引号也比较好用,比如在拼凑sql 语句

反斜杠

//使用单引号
echo ‘ this \n is \r the blog \t of \\ zhoumanhe \\‘;
//上面使用单引号输出的值是 this \n is \r the blog \t of \ zhoumanhe \
echo ‘‘;
echo "";
//使用双引号
echo "this \n is \r the blog \t of \\ zhoumanhe \\";
//上面使用双引号输出的值是 this is the blog of \ zhoumanhe \ 

使用sql

假设查询条件中使用的是常量,例如:

select * from abc_table where user_name=‘abc‘; 

SQL语句可以写成:

SQLstr = “select * from abc_table where user _name= ‘abc‘” ; 

假设查询条件中使用的是变量,例如:

$user_name = $_REQUEST[‘user_name‘]; //字符串变量 

$user=array (”name”=> $_REQUEST[‘user_name‘,"age"=>$_REQUEST[‘age‘];//数组变量 

SQL语句就可以写成:

SQLstr = “select * from abc_table where user_name = ‘ ” . $user_name . ” ‘ “;
SQLstr = “select * from abc_table where user_name = ‘ ” . $user["name"] . ” ‘ “;

对比一下:

SQLstr=”select * from abc_table where user_name = ‘ abc ‘ ” ;
SQLstr=”select * from abc_table where user_name =‘ ” . $user _name . ” ‘ “;
SQLstr=”select * from abc_table where user_name =‘ ” . $user["name"] . ” ‘ “;

SQLstr可以分解为以下3个部分:

1:”select * from table where user_name = ‘ ” //固定SQL语句

2:$user //变量

3:” ‘ ” 

附:大家也看到了 echo ‘<br/>‘; html中的标签在单引号和双引号中都有效。

总结一下PHP引号使用原则

1.字符串的值用引号

2.PHP中尽量用单引号,HTML代码全部用双引号

3.在包含变量的时候,用双引号可以简化操作

4.复杂的情况下用大括号包起来

PHP引号还有一个用处就是,有的时候需要用php生成文本文件,换行符n需要用双引号才能好使,单引号则会直接把n当成字符输出。

使用总结:在字符串里面不需要加入 变量 或者 单引号(‘)和反斜杠(\) 时,尽量用单引号引字符串,因为省去了双引号检查处理转义和解析变量上面的时间。能用单引号尽量用单引号。

时间: 2024-12-15 01:47:43

(实用篇)PHP中单引号与双引号的区别分析的相关文章

Oracle 中单引号和双引号的区别

问题产生原因: insert into t_Cluster_Showresult(Outhostname,Domainlist,Iplist,Classify) values ("2014512-7","www.renren.com\twww.baidu.com","192.168.2.1","2") 此条语句执行不成功,报错列不允许,经查,是因为双引号的问题,改成insert into t_Cluster_Showresul

PHP教程:PHP中单引号与双引号的区别分析

PHP教程:PHP中单引号与双引号的区别分析 在PHP中,我们可以使用单引号或者双引号来表示字符串.不过我们作为开发者,应该了解其中的区别.单引号与双引号对于定义字符一个是可以解析变量一个是会把变量直接输出来,同时单引号与双引号在字符处理上单引号要优与双引号 ①转义的字符不同 单引号和双引号中都可以使用转义字符(\),但只能转义在单引号中引起来的单引号和转义转义符本身.如果用双引号("")括起字符串,PHP懂得更多特殊字符串的转义序列. 1 ②对变量的解析不同 单引号字符串中出现的变量

关于js中单引号(&#39;)和双引号(&quot;)的使用以及转义的理解

引自:http://www.cnblogs.com/gengyulong/archive/2011/05/06/2038573.html <input name="'+mlist[index].value+biduinum+'" type="text" size="12" style="width: 200px" readonly="readonly"  onclick="WdatePick

php字符串中单引号&#39;&#39;和双引号“”的区别

(1)双引号可以解析字符串中的变量,单引号不能 $a = 10; $str = "this a var $a"; //输出this a var 10 (2)在双引号中可以使用转义字符\n \r 等,在单引号中不能(单引号中只能转义单引号'' 和 转义字符本身\) $str = 'this a var \'a\''; //this a var 'a' (3) php字符串中单引号''和双引号""的区别

Unix Shell中单引号、双引号字符、反斜杠、反引号的使用

在执行shell脚本的时候,shell将会对脚本中的行进行解释,然后执行:对于一些特殊处理的句子,我们可以使用引号或者反斜线来避免shell解释执行之.如下,当在命令行中输入:echo *child.sh env_variable father.sh param.sh profile.sh 125017.sh默认会将当前文件夹下的所有文件都打印出来,但我们需要的是输出一个“*”.可以以这样的方式让shell不去解释星号(*):echo "*"* 下面是shell引用类型--------

shell中单引号、双引号、反斜杠简说

需求:ssh远程修改文件,变量从文件中获取,插入远程服务器的文件里 shell脚本中的单引号和双引号一样都是字符串的界定符,而不是字符的界定符.单引号用于保持引号内所有字符的字面值,即使引号内的\和回车也不例外,但是字符串中不能出现单引号.(注意是所有,只是单引号本身不能够出现在其中). 双引号用于保持引号内所有字符的字面值(回车也不例外),但以下情况除外: $加变量名可以取变量的值 反引号仍表示命令替换 \$表示$的字面值 \`表示`的字面值 \"表示"的字面值 \\表示\的字面值

每日linux命令学习-引用符号(反斜杠\,单引号&#39;&#39;,双引号&quot;&quot;)

引用符号在解析器中保护特殊元字符和参数扩展,其使用方法有3种:反斜杠(\),单引号(''),双引号(""). 单引号和双引号必须匹配使用,均可在解析器中保护特殊元字符和通配符,但是单引号(硬转义)主要用于信息的原样输出,防止任何变量的扩展,双引号(软转义)允许变量扩展.转义符和命令替换.单引号保护双引号,双引号保护单引号. 1. 反斜杠 反斜杠通过解析器将1个字符转化为引用符号或转义. 1)在单引号内使用反斜杠,反斜杠不会被解析,保持原样输出. 2)在双引号内使用反斜杠,主要用于美元符

单引号,双引号,三引号 的区别以及使用

python中单引号和双引号是等效的 字符串过长需要换行时,使用\,如 helloworldhelloworld 或者是直接使用'''(也可以用来注释),如 '''hello world''' 输出let's go的方法 >>> 'let\'s go' "let's go" >>> "let's go" "let's go" >>> '''let's go ''' "let's go

单引号中有双引号,双引号还需要引号怎么办

单引号中有双引号,双引号还需要引号怎么办     今天,我在做一个日历控件时,发现在拼接HTML中的input时,出现引号里还有引号:     '<input type="button" onclick="findSearch("MU")"'/>     结果,火狐浏览器出现"死机"现象.     将findSearch中的双引号改为单引号,结果出现报错提示:     后来将findSearch中的双引号利用转义字

Linux Shell 中的反引号,单引号,双引号

反引号 反引号位 (`) 位于键盘的Tab键的上方.1键的左方.注意与单引号(')位于Enter键的左方的区别. 在Linux中起着命令替换的作用.命令替换是指shell能够将一个命令的标准输出插在一个命令行中任何位置. 如下,shell会执行反引号中的date命令,把结果插入到echo命令显示的内容中. [[email protected] sh]# echo The date is `date` The date is 2016年 08月 7日 星期日  19:25:43 CST 单引号,双