Mar*_*ker 55
当反斜杠\不转义字符串的终止引号或以其他方式创建有效的转义序列(在双引号字符串中)时,其中任何一个都可以产生一个反斜杠:
$string = 'abc\def';
$string = "abc\def";
//
$string = 'abc\\def';
$string = "abc\\def";
Run Code Online (Sandbox Code Playgroud)
当转义下一个字符会导致解析错误(终止字符串的引用)或有效的转义序列(在双引号字符串中)时,需要转义反斜杠:
$string = 'abcdef\\';
$string = "abcdef\\";
$string = 'abc\012';
$string = "abc\\012";
Run Code Online (Sandbox Code Playgroud)
Mar*_*ers 44
简短回答:
使用两个反斜杠.
答案很长:
有时您可以使用单个反斜杠,但有时您需要两个反斜杠.当你可以使用单个反斜杠取决于两件事:
如果你有一个双引号字符串,反斜杠在很多情况下被视为转义字符,所以最好总是用另一个反斜杠转义反斜杠:
$s = "foo\\bar"
Run Code Online (Sandbox Code Playgroud)
在单引号字符串中,反斜杠将是文字的,除非它们后跟单引号或另一个反斜杠.因此,要输出带有单引号字符串的单个反斜杠,通常可以这样写:
$s = 'foo\bar'
Run Code Online (Sandbox Code Playgroud)
但要连续输出两个反斜杠,您需要这样:
$s = 'foo\\\\bar'
Run Code Online (Sandbox Code Playgroud)
如果你总是使用两个反斜杠,那么你永远不会错.
| 归档时间: |
|
| 查看次数: |
81958 次 |
| 最近记录: |