PHP反斜杠转义

PHP反斜杠转义,php,escaping,quotes,backslash,Php,Escaping,Quotes,Backslash,将打印两个反斜杠,而我希望它打印四个 而且 $backslash = '\\\\'; echo $backslash.$backslash; 我只会打印一张 为什么呢 编辑: 很抱歉浪费您的时间。 问题是,我实际上没有回显它,而是返回了存储在变量$escaped中的值,然后我用它做了其他事情,这实际上导致了问题。这是意料之中的'-带引号的字符串中只有两个需要转义的元字符:'和\。必须对“进行转义,否则会提前终止字符串,而且由于\本身是转义字符,因此也必须对其进行转义 e、 g 因为前两个\相

将打印两个反斜杠,而我希望它打印四个

而且

$backslash = '\\\\';
echo $backslash.$backslash;
我只会打印一张

为什么呢


编辑: 很抱歉浪费您的时间。

问题是,我实际上没有回显它,而是返回了存储在变量
$escaped
中的值,然后我用它做了其他事情,这实际上导致了问题。

这是意料之中的
'
-带引号的字符串中只有两个需要转义的元字符:
'
\
。必须对
进行转义,否则会提前终止字符串,而且由于
\
本身是转义字符,因此也必须对其进行转义

e、 g

因为前两个
\
相互转义,成为字符串内部的单个文本
\
,而第三个
\
转义
'
,导致字符串从行尾溢出,并使
回显字符串的$foo
部分

我无法复制你的第二个例子<代码>$foo='\\'将为字符串指定一个反斜杠,由于您要打印两次变量,因此应将
\\
作为输出


后续:使用此代码:

我得到:

$two_slashes = '\\';
$four_slashes = '\\\\';
echo $two_slashes . $two_slashes . "\n";
echo $four_slashes . $four_slashes . "\n";

作为输出,正如预期的那样。这是在PHP5.3.3(RedhatEnterprise65.3)上实现的。

这是意料之中的
'
-带引号的字符串中只有两个需要转义的元字符:
'
\
。必须对
进行转义,否则会提前终止字符串,而且由于
\
本身是转义字符,因此也必须对其进行转义

e、 g

因为前两个
\
相互转义,成为字符串内部的单个文本
\
,而第三个
\
转义
'
,导致字符串从行尾溢出,并使
回显字符串的$foo
部分

我无法复制你的第二个例子<代码>$foo='\\'将为字符串指定一个反斜杠,由于您要打印两次变量,因此应将
\\
作为输出


后续:使用此代码:

我得到:

$two_slashes = '\\';
$four_slashes = '\\\\';
echo $two_slashes . $two_slashes . "\n";
echo $four_slashes . $four_slashes . "\n";

作为输出,正如预期的那样。这是在PHP5.3.3(RedhatEnterprise65.3)上实现的。

这是意料之中的
'
-带引号的字符串中只有两个需要转义的元字符:
'
\
。必须对
进行转义,否则会提前终止字符串,而且由于
\
本身是转义字符,因此也必须对其进行转义

e、 g

因为前两个
\
相互转义,成为字符串内部的单个文本
\
,而第三个
\
转义
'
,导致字符串从行尾溢出,并使
回显字符串的$foo
部分

我无法复制你的第二个例子<代码>$foo='\\'将为字符串指定一个反斜杠,由于您要打印两次变量,因此应将
\\
作为输出


后续:使用此代码:

我得到:

$two_slashes = '\\';
$four_slashes = '\\\\';
echo $two_slashes . $two_slashes . "\n";
echo $four_slashes . $four_slashes . "\n";

作为输出,正如预期的那样。这是在PHP5.3.3(RedhatEnterprise65.3)上实现的。

这是意料之中的
'
-带引号的字符串中只有两个需要转义的元字符:
'
\
。必须对
进行转义,否则会提前终止字符串,而且由于
\
本身是转义字符,因此也必须对其进行转义

e、 g

因为前两个
\
相互转义,成为字符串内部的单个文本
\
,而第三个
\
转义
'
,导致字符串从行尾溢出,并使
回显字符串的$foo
部分

我无法复制你的第二个例子<代码>$foo='\\'将为字符串指定一个反斜杠,由于您要打印两次变量,因此应将
\\
作为输出


后续:使用此代码:

我得到:

$two_slashes = '\\';
$four_slashes = '\\\\';
echo $two_slashes . $two_slashes . "\n";
echo $four_slashes . $four_slashes . "\n";
作为输出,正如预期的那样。这是在PHP5.3.3(RedhatEnterprise65.3)上实现的

输出=\\\\

$backslash = '\\\\';
echo $backslash.$backslash;
输出=\\

有什么问题吗

输出=\\\\

$backslash = '\\\\';
echo $backslash.$backslash;
输出=\\

有什么问题吗

输出=\\\\

$backslash = '\\\\';
echo $backslash.$backslash;
输出=\\

有什么问题吗

输出=\\\\

$backslash = '\\\\';
echo $backslash.$backslash;
输出=\\



有什么问题吗?

使用
”时是否得到相同的输出?是的,我得到了。这很奇怪。什么是php版本?无法复制。必须在5.4.6、5.5.1上配置一些服务器/php,在使用
”时是否获得相同的输出?是的,我有。这很奇怪。什么是php版本?无法复制。必须在5.4.6、5.5.1上配置一些服务器/php,在使用
”时是否获得相同的输出?是的,我有。这很奇怪。什么是php版本?无法复制。必须在5.4.6、5.5.1上配置一些服务器/php,在使用
”时是否获得相同的输出?是的,我有。这很奇怪。什么是php版本?无法复制。必须是5.4.6、5.5.1上的服务器/php配置,是的,但这就是为什么我希望“\\\\\”是两个反斜杠,因此当我回送两次它时,得到4。@Jenox回送
时,我得到两个“\\\\”
!你必须检查并关闭它们!魔术语录:这项功能从PHP5.3.0开始就被弃用了,从PHP5.4.0开始就被删除了。。但是我的服务器按预期返回了所有内容。。4个反斜杠变成2个。一切都是正确的!?完全是我的错,检查我的编辑。谢谢你的时间。是的,但这就是为什么我希望“\\\\”是两个反斜杠,因此当我重复两次得到4。@Jenox我在重复
“\\\\”时得到两个。
!你必须检查并关闭它们!魔术语录:从PHP5.3.0开始,这个功能就被弃用并删除了