为什么"t"没有转义这种 PHP 日期格式?



这是日期。除了"\a\t"中的 t 之外,所有内容都被转义了。有人知道为什么吗?

date("M m, Y at g:ia", $s->post_date);

>"t"是水平制表符的转义序列。

使用't'"\t"

单引号字符串按字面意思解释,我建议您将其用于您的用例。否则,您必须转义字符才能从字面上解释它。

在 PHP 的情况下,双引号字符串中无效转义序列前面的也会按字面解释。我宁愿避免这种行为,遵循最小意外原则。

(感谢@IMSoP)有两种情况, s 在单引号字符串中没有按字面解释:

  • 加倍反斜杠仍然是可能的,但可选。 例如:'\hi' === 'hi'
  • 字符串
  • 分隔符必须在字符串文本内进行转义。 例如:''' === "'"

尽管如此,单引号字符串并不那么令人惊讶,因为nrtv40和类似的结果是字符串文字内的实际字符序列,而不是这些被解释为转义序列。

将所有

必须从字面上解释的反斜杠加倍也是一个坚固的选项,也适用于双引号和单引号字符串。

最新更新