php单引号和双引号的使用方法

  

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选项,打开该选项,则通过表单提交的信息中如果有单引号是,将会自动加上如转义符。因此不用使用其他函数了。

php单引号和双引号的使用方法