如何在PHP中制作一个带有反斜杠的字符串?[已关闭]

php
2022-08-30 12:48:06

我需要一个反斜杠才能成为字符串的一部分。我该怎么做?


答案 1

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

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

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

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

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

答案 2

简短的回答

使用两个反斜杠。

长答案

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

  • 您的字符串是用单引号还是双引号括起来,以及
  • 紧跟在反斜杠后面的字符。

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

$s = "foo\\bar"

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

$s = 'foo\bar'

但是要连续输出两个反斜杠,您需要这样:

$s = 'foo\\\\bar'

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


推荐