3

我必须重新格式化一个可以包含以下内容的字符串:

$string = "---8\7----";

问题是 PHP 将 '\7' 解释为八进制值,而不仅仅是 '\' 然后是 '7'。

请问如何阻止 php 这样做?当然,我需要保留'\'谢谢。

4

5 回答 5

7

正如其他人所说,用另一个反斜杠转义反斜杠,但我觉得我应该提到为什么会发生这种情况。您的字符串是用双引号编写的,在 PHP 中进入模板模式,其中某些规则被调用,其中之一确实是您偶然发现的。使用单引号也可以解决这个问题,因为它不做任何模板;

$string = '---8\7----';

这是两种模式的优缺点,真的,但只要你意识到这一点,它不应该在未来对你造成太大影响。:)

于 2011-05-05T11:20:41.197 回答
1

您需要为转义该字符提供反斜杠。

$string = "---8\\7----";
于 2011-05-05T11:22:14.927 回答
0

转义反斜杠。

$string = "---8\\7----";
于 2011-05-05T11:15:57.407 回答
0

使用两个斜杠:

$string = "---8\\7----";
于 2011-05-05T11:16:14.983 回答
0

使用转义字符:

$string = "---8\\7----";
于 2011-05-05T11:16:39.960 回答