【问题标题】:Why are PHP booleans both lower case and upper case?为什么 PHP 布尔值既是小写又是大写?
【发布时间】:2011-12-22 02:56:55
【问题描述】:

PHP 中trueTRUEfalseFALSE 之间有区别吗?

【问题讨论】:

  • 因为使用 Google,您可以在 5 秒内自己发现这一点。
  • 那么这个讨论是怎么回事:stackoverflow.com/questions/2013848/… 如果这一切都可以在 5 分钟内用谷歌搜索?

标签: language-design


【解决方案1】:

如果您打算使用 JSON,那么标准 RFC7159 规定:

文字名称必须小写。不允许使用其他文字名称。

来自Php 5.6

json_decode() 现在根据 JSON 规范始终拒绝 JSON 文字 true、false 和 null 的非小写变体

根据PSR-2 standard

PHP 关键字必须小写。

PHP 常量 true、false 和 null 必须小写。

Ps.:由于 SO 限制,我无法发布到 RFC7159 的链接。

【讨论】:

    【解决方案2】:

    默认情况下,常量区分大小写。但是为了与其他标识符命名空间对称,可以不区分大小写地定义它们:

     define("mixedCASE", 123, TRUE);
    
     print MiXeDcAsE;
    

    这就是 TRUEFALSE 的预先声明方式。 (它们不是解析器/语言内置。)

    【讨论】:

      【解决方案3】:

      不,PHP 解析器在 TRUE、true 和 FALSE、false 方面并不是很挑剔

      【讨论】:

        【解决方案4】:

        http://php.net/manual/en/language.types.boolean.php

        要指定布尔文字,请使用关键字 TRUE 或 FALSE。两者都不区分大小写。

        【讨论】:

          猜你喜欢
          • 2022-01-16
          • 2011-01-02
          • 1970-01-01
          • 2010-11-14
          • 2015-09-19
          • 2011-01-29
          • 1970-01-01
          • 2012-02-20
          • 1970-01-01
          相关资源
          最近更新 更多