我必须重新格式化一个可以包含以下内容的字符串:
$string = "---8\7----";
问题是 PHP 将 '\7' 解释为八进制值,而不仅仅是 '\' 然后是 '7'。
请问如何阻止 php 这样做?当然,我需要保留'\'谢谢。
正如其他人所说,用另一个反斜杠转义反斜杠,但我觉得我应该提到为什么会发生这种情况。您的字符串是用双引号编写的,在 PHP 中进入模板模式,其中某些规则被调用,其中之一确实是您偶然发现的。使用单引号也可以解决这个问题,因为它不做任何模板;
$string = '---8\7----';
这是两种模式的优缺点,真的,但只要你意识到这一点,它不应该在未来对你造成太大影响。:)
您需要为转义该字符提供反斜杠。
$string = "---8\\7----";
转义反斜杠。
$string = "---8\\7----";
使用两个斜杠:
$string = "---8\\7----";
使用转义字符:
$string = "---8\\7----";