繁体   English   中英

在PHP中用单引号引起来的字符串中允许使用哪些转义序列?

[英]Which escape sequences are allowed in a string enclosed in a pair of single quotes in PHP?

我正在使用PHP 7.1.11

如PHP手册中所述

要在已包含在一对单引号中的字符串中指定文字单引号 ,请使用反斜杠()对其进行转义。 要指定文字反斜杠,请将其加倍(\\)。 所有其他反斜杠实例将被视为文字反斜杠:这意味着您可能习惯使用的其他转义序列,例如\\ r或\\ n,将按原样输出,而不具有任何特殊含义。

我不理解上面的段落,因此在我的脑海中产生了以下疑问:

  1. 只能在已经用单引号引起来的字符串中(使用转义序列字符\\' )指定单引号吗?
  2. 考虑下面的句子

要指定文字反斜杠,请将其加倍(\\)。

实际上,我可以通过在已经用一对单引号引起来的字符串中添加single \\来简单地指定一个反斜杠文字,然后为什么手册说我必须使用double slash(\\\\)来指定它呢?

  1. 现在考虑下面的句子

    所有其他反斜杠实例将被视为文字反斜杠:这意味着您可能习惯使用的其他转义序列,例如\\ r或\\ n,将按原样输出,而不具有任何特殊含义。

这是否意味着除单引号( \\' )之外的其他转义序列字符都不能添加在单引号中的字符串中? \\ r,\\ t和\\ n之类的字符会像浏览器中的简单文本一样被打印吗?

请有人澄清以上所有疑问。

谢谢。

关于“第一段”,是在转义的单引号之前转义反斜杠

echo '\\\'' // Output: \'

所有其他反斜杠均按原样输出,因此不可能用单引号写“换行”符号。

echo '\n\ \'' // Output: \n\ ' 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM