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