浅谈PHP中单引号和双引号到底有啥区别呢?_php技巧

在PHP中,字符串的定义可以使用英文单引号' ',也可以使用英文双引号" "。

但是必须使用同一种单或双引号来定义字符串,如:'Hello World"和"Hello World'为非法的字符串定义。

单引号和双引号到底有啥区别呢?

PHP允许我们在双引号串中直接包含字串变量。

而单引号串中的内容总被认为是普通字符,因此单引号中的内容不会被转义效率更高。

比如:

复制代码 代码如下:

$str='hello';
echo "str is $str"; //运行结果: str is hello
echo 'str is $str'; //运行结果: str is $str

php中,双引号中的变量($var)和特殊字符(\r\n之类)会被转义,单引号中的内容不会被转义(所以效率更高)。
使用上的话,
我以前很喜欢在sql字符串里这样写$sql = "SELECT * FROM table WHERE id = $id",这样里面的$id可以被转义,单引号就不行。

在JavaScript中 单引号 和双引号没有区别,只要成对使用就行。
我在JavaScript 中使用单引号大多是因为 Javascript 和 HTML 打交道比较多,输出 HTML 片段的时候不需要转义 HTML 中属性的引号。
总之,看实际情况来用啦,怎么方便怎么使用。

以上就是本文关于php中单双引号的区别分析了,希望大家能够喜欢

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

浅谈PHP中单引号和双引号到底有啥区别呢?_php技巧的相关文章

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

如果字符串包含在双引号中,php将对字符串中的一些特殊字符进行解析. 例1: <?php $i=80; $a="hello$i"; $b='hello$i'; echo '<br />$a='.$a; //输出$a=hello80,双引号输出变量的值 echo '<br />$b='.$b; //输出$b=hello$i,单引号输出变量的名称 ?> 例2: <?php $a="hello\""; $b='hello

php中单引号与双引号的区别

php教程中单引号与双引号的区别 引号中,任何变量($var).特殊转义字符(如"t r n"等)不会被解析,因此php的解析速度更快,转义字符仅仅支持"'"和""这样对单引号和反斜杠本身的转义: 在字串中使用变量 这个功能让你无须使用连接符号来粘和大量的简单字符串.php允许我们在双引号串中直接包含字 串变量,我们可以发现下面的两个字串的处理结果是相同的. $full_name = $first_name . ' ' . $last_name;

c语言中单引号和双引号的区别(顺利解决从字符串中提取IP地址的困惑)

c语言中的单引号和双引号可是有很大区别的,使用之前一定要了解他们之间到底有什么不同,下面小编就给大家详细的介绍一下吧,对此还不是很了解的朋友可以过来参考下   问题:从c++文件中将std:string转换为char*后,返回包含IP地址的char*,需要将该字符串char*中的IP地址提取出来: 解决办法:1. 解决思路:IP地址最长为12字符+3句点=15字符,一般性表示为192.168.111.111: 可以从第一个字符开始解析,当不是'.'时,将所有字符保存下来,然后把所有保存下来的字符

PHP中单引号与双引号的区别分析_php技巧

①转义的字符不同 单引号和双引号中都可以使用转义字符(\),但只能转义在单引号中引起来的单引号和转义转义符本身.如果用双引号("")括起字符串,PHP懂得更多特殊字符串的转义序列. <?php $str1 = '\',\\,\r\n\t\v\$\"'; echo $str1,'<br />'; $str2 = "\",\\,a\r\n\tb\v\$\'"; echo $str2,'<br />'; ?> ②对变

Shell脚本中单引号(‘)和双引号(“)的使用区别_linux shell

在Linux操作系统上编写Shell脚本时候,我们是在变量的前面使用$符号来获取该变量的值,通常在脚本中使用"$param"这种带双引号的格式,但也有出现使用'$param'这种带引号的使用的场景,首先大家看一段例子: 复制代码 代码如下: [root@linux ~]# name=TekTea [root@linux ~]# echo $name TekTea [root@linux ~]# sayhello="Hello $name" [root@linux ~

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

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

浅谈JS中的!=、== 、!==、===的用法和区别_javascript技巧

var num = 1; var str = '1'; var test = 1; test == num //true 相同类型 相同值 test === num //true 相同类型 相同值 test !== num //false test与num类型相同,其值也相同, 非运算肯定是false num == str //true 把str转换为数字,检查其是否相等. num != str //false == 的 非运算 num === str //false 类型不同,直接返回fals

浅谈jQuery中的eq()与DOM中element.[]的区别_jquery

如下所示: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <a class="a">#1</a> <a class="a">#2</a>

浅谈MySQL存储过程中declare和set定义变量的区别_Mysql

在存储过程中常看到declare定义的变量和@set定义的变量.简单的来说,declare定义的类似是局部变量,@set定义的类似全局变量. 1.declare定义的变量类似java类中的局部变量,仅在类中生效.即只在存储过程中的begin和end之间生效. 2.@set定义的变量,叫做会话变量,也叫用户定义变量,在整个会话中都起作用(比如某个应用的一个连接过程中),即这个变量可以在被调用的存储过程或者代码之间共享数据.如何理解呢?可以看下面这个简单例子,很好理解.  (1)先执行下面脚本,创建

浅谈java中Math.random()与java.util.random()的区别_java

今天突然想起来,java产生随机数的问题,上机试了一下,找到了一点区别,在这里总结一下: 直接调用Math.random()是产生一个[0,1)之间的随机数, 如果用 java.util.Random random=new Random();random.nextInt() 这样产生一个长整型的随机数并且与上一次是一样的,如果过一会再产生就不会一样了,例如: for (int i = 0; i < 10; i++) { Random random=new Random(); Thread.sle