提问者:小点点

如何在PHP中生成带有反斜杠的字符串? [已关闭]


我需要一个反斜杠作为字符串的一部分。 我怎么能做到呢?


共3个答案

匿名用户

当反斜杠\没有转义字符串的终止引号或以其他方式创建有效的转义序列(在双引号字符串中)时,则这两种方法中的任何一种都将产生一个反斜杠:

$string = 'abc\def';
$string = "abc\def";
//
$string = 'abc\\def';
$string = "abc\\def";

当转义下一个字符会导致解析错误(终止字符串的引号)或有效的转义序列(在双引号字符串中)时,则需要转义反斜杠:

$string = 'abcdef\\';
$string = "abcdef\\";

$string = 'abc\012';
$string = "abc\\012";

匿名用户

简短的回答:

使用两个反斜杠。

长答:

有时可以使用单个反斜杠,但有时需要两个反斜杠。 何时可以使用单个反斜杠取决于两件事:

  • 字符串是用单引号还是双引号包围,
  • 紧随反斜杠之后的字符。

如果您有一个双引号字符串,在许多情况下,反斜杠被视为转义字符,因此最好总是用另一个反斜杠转义反斜杠:

$s = "foo\\bar"

在单引号字符串中,除非后跟单引号或另一个反斜杠,否则反斜杠将是文字性的。 因此,要输出带有单引号字符串的单反斜杠,通常可以这样写:

$s = 'foo\bar'

但是要在一行中输出两个反斜杠,您需要如下所示:

$s = 'foo\\\\bar'

如果你总是使用两个反斜杠,你永远不会错。

匿名用户

您必须转义所有反斜杠,如“C:\\windows\\”