当前位置:首页 » 编程语言 » php双引号转义

php双引号转义

发布时间: 2022-05-27 22:10:03

1. 单引号和双引号在php代码中用法有什么不同

在PHP中,字符串的定义可以使用单引号,也可以使用双引号。但是必须使用同一种单或双引号来定义字符串,如:‘Hello"和“Hello'为非法的字符串定义。
定义字符串时,只有一种引号被视为定义符,即单引号或双引号。于是,如果一个字符串由双引号开始,那么只有双引号被分析器解析。这样,就可以在双引号串中包含任何其他字符,甚至单引号。下面的引号串都是合法的:
$s = "I am a 'single quote string' inside a double quote string";
$s = 'I am a "double quote string" inside a single quote string';
$s = "I am a 'single quote string' inside a double quote string";
$s = 'I am a "double quote string" inside a single quote string';

PHP允许我们在双引号串中直接包含字串变量,单引号串和双引号串在PHP中的处理是不相同的。双引号串中的内容可以被解释而且替换,而单引号串中的内容总被认为是普通字符。例如如下代码:

$foo = 2;
echo "foo is $foo"; // 打印结果: foo is 2
echo 'foo is $foo'; // 打印结果: foo is $foo
echo "foo is $foo\n"; // 打印结果: foo is 2 (同时换行)
echo 'foo is $foo\n'; // 打印结果: foo is $foo\n
$foo = 2;
echo "foo is $foo"; // 打印结果: foo is 2
echo 'foo is $foo'; // 打印结果: foo is $foo
echo "foo is $foo\n"; // 打印结果: foo is 2 (同时换行)
echo 'foo is $foo\n'; // 打印结果: foo is $foo\n
在单引号串中甚至反斜杠也失去了他的扩展含义(除了插入反斜杠\\和插入单引号\')。所以,当想在字串中进行变量代换和包 含\n(换行符)等转义序列时,应该使用双引号。单引号串可以用在其他任何地方,脚本中使用单引号串处理速度会更快些,因为PHP语法分析器对单引号串 的处理方式比较单纯,而双引号的处理由于串内部也需要解析,因此更复杂些,所以处理速度略慢。 技术问题可到itjob技术交流群交流

2. php 单双引号与转义的问题

在单引号串中反斜线失去了它的扩展含义(除了添入反斜杠\\和添入单引号\')。所以,当你想在字串中进行变量代换和包含\n(换行符)等转义序列时,你应该使用双引号。

所以单引号不会转义,\\只是添加了一个\,这个类似\' 添加了一个单引号。

3. PHP 单引号,双引号与转义的问题

单引号和双引号都会对字符串进行转义。转义是对内容的进行安全过滤。但而单双号与双引号主要的区别是在解析时有没有进行变量解析。

4. php转义字符,这是什么意思

\的意思是转义
如果你双引号里要出现双引号是不行的,所以要转义
比如:\"就是相当于'
(转义双引号等于单引号)
\'等于'
(转义单引号等于单引号)
你这段的意思是:执行循环,次数为3次。循环输出表格的列(align=\
"center
\设定为居中)。img是
图片,scr是图片位置,位置是数组
$pictures的第$i个(根据循环次数来定)
echo
"
\
"
/></td>";
\
"
/>是img的结束标记
</td>是列的结束标记
不过我感觉程序有点问题。。

5. php中的echo的双引号为什么要转义

假如你的文件是以“.php”为结尾的话,正常情况下是不需要转义符的。但如果你是在一段已经有双引号("")包围的代码中间插入如:<?php echo "<a onclick=\"href(1)\"> 连接</a>"; ?>类似的代码,确实有可能需要转义符。

6. PHP中的双引号和单引号的应用

无论是书写
JavaScript
还是
PHP,总习惯于使用单引号。但周末在家
coding
的时候碰到个问题,需要通过
PHP
过滤字符串中的换行符,按照下面的方法操作:
$out
=
str_replace(array('rn',
'r',
'n'),
'',
$out);PHP
提供三种定义字符串的方法:单引号、双引号、本地文档(英文叫做
here
document
或者
heredoc)。
单引号:
使用单引号是最高效的方法,因为
PHP
不会检查单引号字符串中的内置变量和转义序列,需要转义的字符只有反斜杠和单引号本身。
双引号:
会检查内置变量和转义序列,但不能识别转义的单引号。这也正说明了开始那段代码的错误之处,正确的做法是使用双引号来定义换行的转义序列:
$out
=
str_replace(array("rn",
"r",
"n"),
'',
$out);本地文档:
检查所有的内置变量和转义序列,双引号无需转义。例如:
echo
<<
this
is
a
"here
document"
example.
just
for
test.
EOT;简单记录下,加深印象。

7. php 单引号和双引号的区别

1、变量。双引号解释变量,单引号不解释变量;双引号里插入单引号,其中单引号里如果有变量的话,变量解释;

2、字符。双引号解释转义字符,单引号不解释转义字符,但是解释'和;

3、效率。能使单引号字符尽量使用单引号,单引号的效率比双引号要高(因为双引号要先遍历一遍,判断里面有没有变量,然后再进行操作,而单引号则不需要判断)。

(7)php双引号转义扩展阅读:

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

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

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

比如:

$str = 'hello world';

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

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

8. php中怎么把json双引号前加上转义符\

通过AJAX传到PHP的json字符串有时候加上反斜杠”\”来转义,PHP处理时需要先去掉反斜杠,然后再json_decode.

$str = stripslashes($_POST['json']);
$arr = json_decode($str,true);

PS:php get抓取json怎样去除双引号前面的反斜杠
你这个不算标准的JSON格式数据,可以先将\"替换成"即可。
再用json_decode()系统函数将其转为json对象,如需转为数组加上第二个参数为true即可。
若仍输出为NULL,是由于存在BOM头信息,

复制代码 代码如下:

$arr = json_decode(trim($json,chr(239).chr(187).chr(191)),true);

转换即可。
本文全部内容介绍完了,希望对大家在使用PHP去掉json字符串中的反斜杠\及去掉双引号前的反斜杠中有所帮助。

9. PHP中单引号与双引号的区别分析

①转义的字符不同
单引号和双引号中都可以使用转义字符(\),但只能转义在单引号中引起来的单引号和转义转义符本身。如果用双引号(“”)括起字符串,PHP懂得更多特殊字符串的转义序列。
<?php
$str1
=
'\',\\,\r\n\t\v\$\"';
echo
$str1,'<br
/>';
$str2
=
"\",\\,a\r\n\tb\v\$\'";
echo
$str2,'<br
/>';
?>
②对变量的解析不同
单引号字符串中出现的变量不会被变量值替代。即PHP不会解析单引号中的变量,而是将变量名原样输出。双引号字符串最重要的一点是其中的变量名会被变量值替代,即可以解析双引号中包含的变量。
<?php
$age
=
20;
$str1
=
'I
am
$age
years
old';
$str2
=
"I
am
$age
years
old";
echo
$str1,'<br
/>';
//
I
am
$age
years
old
echo
$str2,'<br
/>';
//
I
am
20
years
old;
?>
③解析速度不同
单引号不需要考虑变量的解析,速度比双引号快.推荐用单引号.有的时候双引号也比较好用,比如在拼凑sql
语句
反斜杠
//使用单引号
echo
'
this
\n
is
\r
the
blog
\t
of
\\
zhoumanhe
\\';
//上面使用单引号输出的值是
this
\n
is
\r
the
blog
\t
of

zhoumanhe

echo
'
';
echo
"
";
//使用双引号
echo
"this
\n
is
\r
the
blog
\t
of
\\
zhoumanhe
\\";
//上面使用双引号输出的值是
this
is
the
blog
of

zhoumanhe

使用sql
假设查询条件中使用的是常量,例如:
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:”


附:大家也看到了
echo
'<br/>';
html中的标签在单引号和双引号中都有效。
总结一下PHP引号使用原则
1.字符串的值用引号
2.PHP中尽量用单引号,HTML代码全部用双引号
3.在包含变量的时候,用双引号可以简化操作
4.复杂的情况下用大括号包起来
PHP引号还有一个用处就是,有的时候需要用php生成文本文件,换行符n需要用双引号才能好使,单引号则会直接把n当成字符输出。
使用总结:在字符串里面不需要加入
变量
或者
单引号(')和反斜杠(\)
时,尽量用单引号引字符串,因为省去了双引号检查处理转义和解析变量上面的时间。能用单引号尽量用单引号。

热点内容
国内外密码箱锁哪里有卖 发布:2025-02-12 13:02:47 浏览:237
杰杰脚本 发布:2025-02-12 13:02:07 浏览:35
uc高级编程 发布:2025-02-12 13:01:57 浏览:788
安卓照片如何拷进iphone 发布:2025-02-12 13:00:31 浏览:453
知秋数据库 发布:2025-02-12 12:58:16 浏览:452
ark手游怎么免费创建私人服务器 发布:2025-02-12 12:51:51 浏览:401
linux键盘布局 发布:2025-02-12 12:50:57 浏览:683
linuxlc 发布:2025-02-12 12:42:51 浏览:478
安卓协议一般支持哪个系统比较好 发布:2025-02-12 12:42:47 浏览:512
书脊算法 发布:2025-02-12 12:42:41 浏览:818