切换风格

Wizard Sky California Sunset glow Black Cloud Beige Dragon Lavender NewYear City Snow Flowers London
收藏本站XSS平台字符串转换jsfuck
关于php中的单双引号问题,找个大神给点经验[复制链接]
发表于 2013-5-14 20:23:59 | 显示全部楼层 |!read_mode!
双引号比单引号占用的数据存储多,这是必然的,为了让程序达到完美,就不得不去了解下,什么时
候用双引号,什么时候用单引号。
对于这个问题,小白我觉得,只有那些大牛,才能用他们的经验给我们解答。

坐等.......

发表于 2013-5-14 23:59:33 | 显示全部楼层
在PHP中,如果只是用于没有包含变量的文本型数据,单引号和双引号是没有什么区别的。但如果要使用变量,单引号和双引号就有区别了。

在PHP中,双引号里可以直接代入变量,而无需转义或者其他符号,如:
$b = "cat";
$a = "This is a $b" //显示This is a cat


单引号则不行,如果
$a = 'This is a $b';//则显示为:This is a $b


在运行效率上单引号和双引号也确实是有区别的,一般来说单引号的运行速度会比较快,双引号会比较慢,原因在于双引号要先查找语句中是否有变量,而单引号则不用(默认认为全是字符串),因此,如果语句中没有代入变量尽量采用单引号。这是写程序一种习惯,时刻想着提高程序的效率。

如果在语句中要转义操作,那么就一定要用双引号了。比如,转定义单引号时,写成这样的话:
$a = 'He\'s  name is  3G-SecTeam ';

程序会把 He\'s  name  is  3G-SecTeam原封不动的显示出来,如果这样写:
$a = "He\'s name is   3G-SecTeam";

程序就会显示:He's  name is   3G-SecTeam
单引号是sql语句的绊脚石,在sql语句中的文本型数据都要用单引号来包含,因此数据中如果出现单引号,数据库会认为数据结束,那么后面的数据就会被认为是sql语句的其它组成部分,在数据库查询时当然会报错,所以写进sql语句的文本型数据一定要用addslashes()函数转定义单引号,读取数据时再用stripslashes()转回来。


操千曲而后晓声,观千剑而后识器。
发表于 2013-5-15 22:17:29 | 显示全部楼层
抚菊深思 发表于 2013-5-14 23:59
在PHP中,如果只是用于没有包含变量的文本型数据,单引号和双引号是没有什么区别的。但如果要使用变量,单引 ...

师傅,你太牛掰了
发表于 2013-5-16 12:52:18 | 显示全部楼层
能使用单引号的地 尽量别使用双引号啊  


双引号会解析其中的变量  会拖慢速度   


再有就是  单双引号 混用的情况    单引号中不可以再次使用单引号  否则会报错   

代码区

GMT+8, 2019-11-13 03:33

Powered by Discuz! X2

© 2001-2018 Comsenz Inc.

回顶部