PHP单引号和双引号区别

关于单引号和双引号的区别和效率问题。很多朋友了解的不是很清楚,一直以为PHP中单引号和双引号是互通的,直到有一天,发现单引号和双引号出现错误的时候才去学习研究。所以今天再拿出来谈谈他们的区别,希望大家不要再为此困惑。
” ” 双引号里面的字段会经过编译器解释,然后再当作HTML代码输出。
‘ ‘ 单引号里面的不进行解释,直接输出。
从字面意思上就可以看出,单引号比双引号要快了。
例如:
$abc=’my name is tome’;
echo $abc //结果是:my name is tom
echo ‘$abc’ //结果是:$abc
echo “$abc” //结果是:my name is tom
特别在使用MYSQL语句的时候,双引号和单引号的用法让新手不知所措,在这里,举个例子,来进行说明。
假设查询条件中使用的是常量,例如:
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:” ‘ ”
1,2,3部分字符串之间用”.” 来连接
[p=30, 2, left]
[/p]

====

一.首先想想PHP里所有的单词(其实应该叫符号)有几类.

1.PHP,mysql两方的关键词与函数.例如echo,print,mysql_connect等等.这些肯定不加引号的.

2.常量.新手可能用得不多,常量的好处是全局性,穿透函数.速度也快些不过新手可以暂时不管常量这玩意儿.

3.变量.前面带"$"号的就是变量.可以为变量设一个"值",例如一串字符,一个数字,逻辑(真/假)值等.也可以表示一组值(数组,对象等)

4.值.通常要给常量与变量设置值.赋值语句$a=\‘abc\‘中,右边的\‘abc\‘即为值.

5.函数的参数(在括号里的).可以是常量,变量,值三种.

变量(常量)与值的关系正如下列各种情况.

"颜色"与"红",

"长度"与100,

"日期"与2007年10月25号"

二.什么情况下用PHP引号

其实只有第4项"值"需要用到引号,函数的里也只有值要用引号.并且只有字符串(日期值可以当成字符串)内容需要用到引号.数字(可用可不用),真假(不能用)例外.

例子

三.单引号与双引号的区别

一般情况下两者是通用的.但双引号内部变量会解析,单引号则不解析.

例子

所以如果内部只有纯字符串的时候,用单引号(速度快),内部有别的东西(如变量)的时候,用双号引更好点.

四.字符串内部如果出现PHP引号怎么办--关于转义.

比如我们想输出: 我"是\‘天才

这时候就必须用到转义了.转义即把本来有作用的符号转成无意义的字符.

这样就正常了,因为号把它后面的任何字符都转成无意义的符号.在这里来说,PHP解析器根本没把号后面的引号当成引号来看待.

同样的,还可以转义分号,$符号等特殊符号.

五.字符串的连接.

这是个麻烦的问题.一般来说,变量值,直接包含在双引号中就可以了.另外字符串的叠加用"."字符.

在复杂的情况里可以用大括号来包含,PHP便知道这是一个完整的东西,里面的引号不会影响到外面的引号关系.

与html的混合也很简单,最好养成HTML中全部用双引号,PHP中尽量用单引号的习惯.这样方便把大段的HTML代码复制过来,只要头尾加上单引号就是一个正确的字符串了.几百行的HTML代码也不用担心PHP引号错乱.

总结一下PHP引号使用原则

1.字符串的值用引号

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

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

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

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

原文地址:https://www.cnblogs.com/Mr-Echo/p/9418658.html

时间: 2024-08-02 14:16:23

PHP单引号和双引号区别的相关文章

再谈PHP单引号和双引号区别

其实在之前的PHP100视频教程里我就讲过,单引号和双引号的区别和效率问题,但还是很多朋友了解的不是很清楚,一直以为PHP中单引号和双引号是互通的,直到有一天,发现单引号和双引号出现错误的时候才去学习研究.所以今天再拿出来谈谈他们的区别,希望大家不要再为此困惑." " 双引号里面的字段会经过编译器解释,然后再当作HTML代码输出.' ' 单引号里面的不进行解释,直接输出. 从字面意思上就可以看出,单引号比双引号要快了. 例如:     香格里拉娱乐城$abc='my name is t

单引号与双引号区别

                             单引号双引号的区别 单引号概念   可以说是所见即所得:即将单引号内的内容原样输出,或者描述为单引号里面看到的是什么就会输出什么. 双引号概念    把双引号内的内容输出出来,如果内容中有命令.变量,会先把变量.命令解析出结果,然后在输出最终的内容来.    双引号内命令或变量的写法为`命令或变量`或$(命令或变量). 无引号:    把内容输出出来,可能不会将含有空格的字符串视为一个整体输出,如果内容中有命令或变量等,会先把变量.命令解

linux bash shell中,单引号、 双引号,反引号(``)的区别及各种括号的区别

一.单引号和双引号 首先,单引号和双引号,都是为了解决中间有空格的问题. 因为空格在Linux中时作为一个很典型的分隔符,比如string1=this is astring,这样执行就会报错.为了避免这个问题,因此就产生了单引号和双引号.他们的区别在于,单引号将剥夺其中的所有字符的特殊含义,而双引号中的'$'(参数替换)和'`'(命令替换)是例外.所以,两者基本上没有什么区别,除非在内容中遇到了参数替换符$和命令替换符`. 所以下面的结果:num=3echo '$num'$numecho "$n

linux shell中的单引号与双引号的区别(看完就不会有引号的疑问了)(转)

" "(双引号)与 ' '(单引号)的区别  你在shell prompt后面敲打键盘.直到按下enter的时候,你输入的文字就是command line了,然后shell才会以进程方式执行你所提交的命令.但是,你又可知道:你在command line输入的每一个文字,对shell来说,有什么类别之分呢? 简单而言,command line的每一个charactor分为如下两种:   *literal:也就是普通纯文字,对shell来说没有特殊功能.   *meta:对shell来说,

辛星和你彻底解读单引号和双引号的区别

本以为PHP中单引号的区别这么简单而基础的知识应该是每个PHPer都知道的,结果还是有很多PHPer不清楚,这一点我也非常痛心,痛定思痛,于是,我们就来彻底搞定PHP中的单引号和双引号的差别,其实很简单的. 当PHP解析双引号的时候,会自动的被分析器分析一次,进行一次到字符串的转化,因此如果双引号的 字符串中有变量,会被自动用变量去替代,比如如下代码: <?php $xin = "辛星"; echo "$xin"; echo '$xin'; 上述代码的输出如下

[转载]PHP效率计:从引号开始(单引号、双引号效率区别)

原文地址:http://blog.sina.com.cn/s/blog_640b03390100sham.html 一直以来,程序的执行效率就是人们所关注的,在PHP中也不例外,从最简单的引号,也在思考他的效率.我们特别做了实验,我们自称这个实验可能前无古人,后无来者.我们的实验是借助最初级的实验方法:累积法和多次实验求平均值. 实验一:在普通情况下的效率我们的实验是5000次执行10000个字节的文件,获得解析过程中的速度.首先,本实验特别规定一个单位,这是为了更好地表示以及排除计算机本身效率

单引号和双引号的区别

首先, 单引号和双引号,都是为了解决中间有空格的问题. 因为空格在linux中时作为一个很典型的分隔符,比如 string1=this is a string,这样执行就会报错.为了避免这个问题,因此就产生了单引号和双引号.他们的区别在于,单引号将剥夺其中的所有字符的特殊含义,而双引号中的 '$'(参数替换)和'`'(命令替换)是例外.所以,两者基本上没有什么区别,除非在内容中遇到了参数替换符$和命令替换符`. num=3 echo '$num' echo xxxxx echo "$num&qu

PHP表示字符串的单引号和双引号有什么区别?定界符和双引号区别?

(1)单引号和双引号的区别? 1.可以使用转义的范围不同,单引号只能转义单引号\',双引号除了单引号不能转义,其他\"\n\r\t都能. 2.双引号中能解析php变量,单引号不能.即"我的名字叫$name". 但是在字符串中使用变量,我们指导$表示变量开始,但是没有指定变量结束位置,所以如果不是放在末尾的话会出错. 解决方案: 1.放在末尾.后面没有东西了,自然就正确. 2.变量后面增加空格.遇到空格默认结束. 3.使用大括号{}. 4.使用连接符"."或

Delphi学习手记——单引号和双引号的区别

单引号和双引号的区别 双引号表示其中字符可能包含变量,而单引号表示整个引号内的东西都当成字符串来处理. 也就是说:没有内设变量就用单引号'',有就用双引号"". 举例说明: $var = 'this'; print "haha $var"; //OUT: haha this print 'haha $var'; //OUT: haha $var