PHP 中的反斜杠中断字符串

Backslashes breaking string in PHP

我有一个问题。我正在尝试用这样的 ASCII 文本编写一个字符串:'/\'。但是每当我这样做时,反斜杠通过取消定义它的字符串的引号来搞砸代码,从而搞砸了。无论如何取消反斜杠,这样它就不会取消报价?谢谢大家!

\是特殊字符,表示:'The next character has special meaning'。

所以如果你想显示 \ 你应该写... \ 在输出中得到一个 \

HEREDOC 是编写此类内容的绝佳解决方案。在 heredoc 块中,您无需担心转义任何内容,它只是文本。

例如:

echo <<<TEXT

/|\/|\/|\/|\/|\/|\/|\/|\/|\/|\

TEXT;

有一个问题。 PHP 如果你没有在行首对齐回显,或者如果 TEXT;未在行首对齐。

Heredoc也可以赋值给一个变量,像这样:

$var = <<<SOME_MORE_TEXT

/|\/|\/|\/|\/|\/|\/|\/|\/|\/|\

SOME_MORE_TEXT;

最后,HEREDOC 保留了制表符和空格。这在做 ASCII 艺术时也可能派上用场。

参考:http://php.net/manual/en/language.types.string.php了解更多信息。

展示您尝试过的内容会非常有帮助,但这将产生您要求的准确输出(如 SO 所示)

echo '\'/\' . "'\n" ;

'/\'

它还应该让您了解反斜杠转义在不同类型的字符串中的工作原理。

使用单引号时只需要对最后一个进行转义即可。

$var = 'backslash\backslash\backslash\';
// output is:
// backslash\backslash\backslash\