php单引号和双引号的使用方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!
看好多代码有时候用单引号或双引号实现包含字符串的内容,其实简单概括下就是双引号中的变量可以解析,单引号就是绝对的字符串。下面就为大家详细介绍一下。
在php中,字符串的定义可以使用单引号,也可以使用双引号。但是必须使用同一种单或双引号来定义字符串,如:“Hello"和“你好# 39;为非法的字符串定义。
定义字符串时,只有一种引号被视为定义符,即单引号或双引号。于是,如果一个字符串由双引号开始,那么只有双引号被分析器解析。这样,你就可以在双引号串中包含任何其他字符,甚至单引号。下面的引号串都是合法的:
$ s=拔沂? # 39;单引号字符串# 39;在一个双引号string"; $ s=& # 39;我是一个“双引号string"在一个单引号字符串# 39;; $ s=拔沂? # 39;单引号字符串# 39;在一个双引号string"; $ s=& # 39;我是一个“双引号string"在一个单引号字符串# 39;;
而串“为什么不# 39;t“this"工作吗?“则会被分为三段。如果在这个串中想要表示出双引号,则可以使用转义符“\“(反斜线),变成“为什么不# 39;t \“\”;工作吗?“即可。
PHP允许我们在双引号串中直接包含字串变量,我们可以发现下面的两个字串的处理结果是相同的。
full_name=first_name美元。& # 39;& # 39;。last_name美元; $ full_name=癴irst_name last_name"美元;;
单引号串和双引号串在PHP中的处理是不相同的。双引号串中的内容可以被解释而且替换,而单引号串中的内容总被认为是普通字符。例如:
$ foo=2; 回声“foo $ foo";//打印结果:foo是2 回声& # 39;foo $ foo # 39;;//打印结果:foo $ foo 回声“foo $ foo \ n";//打印结果:foo是2(同时换行) 回声& # 39;foo $ foo \ n # 39;;//打印结果:foo $ foo \ n $ foo=2; 回声“foo $ foo";//打印结果:foo是2 回声& # 39;foo $ foo # 39;;//打印结果:foo $ foo 回声“foo $ foo \ n";//打印结果:foo是2(同时换行) 回声& # 39;foo $ foo \ n # 39;;//打印结果:foo $ foo \ n
正如你所看到的,在单引号串中甚至反斜杠也失去了他的扩展含义(除了插入反斜杠\ \和插入单引号\ & # 39;)。所以,当你想在字串中进行变量代换和包含\ n(换行符)等转义序列时,你应该使用双引号。单引号串可以用在其他任何地方,脚本中使用单引号串处理速度会更快些,因为PHP语法分析器对单引号串的处理方式比较单纯,而双引号的处理由于串内部也需要解析,因此更复杂些,所以处理速度略慢。
在字符串中引用复杂的变量组合时,可能会产生一些问题,下面的代码会正常工作:
回声“价值=https://www.yisu.com/zixun/$ foo”; 回声“价值=美元($ i)”; 回声“价值=$ foo”; 回声“价值=美元($ i)”;
而下面的代码却不能得到我们希望的结果:
回声“价值=https://www.yisu.com/zixun/$ [$ i] [j]美元”;//我们希望打印二维数组一个美元的某个元素。
为避免这些字串使用中的潜在问题,我们通常把复杂的变量从字串中分离开来,就像这样:
回声& # 39;价值=https://www.yisu.com/zixun/'。美元($ i) [j]美元;//字符串的连接用点(.)
还有一种办法是将复杂变量用花括号括起来,语法分析器就能正确辨认了:
回声“价值=https://www.yisu.com/zixun/{$一个[$ i] [j]美元}"//打印二维数组一个美元的某个元素
这是会经常遇到的问题,在插入数据库的SQL语句是采用单引号来定义字符串,如果要将一个含有单引号的字符串插入数据库,这个SQL语句就会出错。
如:
$ SQL=安迦胗没畔?用户名、密码)值(& # 39;o # 39; Kefee& # 39;, & # 39; 123456 & # 39;)“;
此时,处理的方法之一是SQL语在句中加入转义符反斜线,
即:……<代码>值(& # 39;O \ & # 39; Kefee& # 39;> 代码,……
当然也可以使用函数addslashes(),该函数的功能就是加入转义符,
即:
$ s=addslashes (“O # 39; Kefee")……值(& # 39;“。$ s !”& # 39;,……
还有一种方法是设置php。ini中的magic quotes选项,打开该选项,则通过表单提交的信息中如果有单引号是,将会自动加上如转义符。因此不用使用其他函数了。