我必须重新格式化一个包含以下内容的字符串:
$string = "---8\7----";
问题是'\ 7'被PHP解释为八进制值而不仅仅是'\'然后是'7'。
我怎么能阻止php这样做呢?当然,我需要保持'\' 感谢。
答案 0 :(得分:7)
正如其他人所说,用另一个反斜杠来逃避反斜杠,但我觉得我应该提一下为什么会这样。你的字符串是用双引号写的,在PHP中进入template mode where certain rules gets invoked,其中一个确实是你偶然发现的。使用单引号也可以修复它,因为它没有进行任何模板化处理;
$string = '---8\7----';
这是两种模式中的专业人士和对手,实际上,但只要你意识到这一点,它就不应该在将来咬你太多。 :)
答案 1 :(得分:1)
您需要提供反斜杠才能转义该字符。
$string = "---8\\7----";
答案 2 :(得分:0)
逃避反斜杠。
$string = "---8\\7----";
答案 3 :(得分:0)
使用两个斜杠:
$string = "---8\\7----";
答案 4 :(得分:0)
使用escape char:
$string = "---8\\7----";