Почему PHP булевы как нижний регистр, так и верхний регистр?

есть ли разница между true и TRUE или false и FALSE в PHP?

4 ответов


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

чтобы указать логический литерал, используйте ключевые слова TRUE или FALSE. Оба не учитывают регистр.


Если вы собираетесь использовать JSON, то стандартный RFC7159 говорит:

имена букв должны быть строчными. Никакие другие буквальные имена не допускаются.

и Php 5.6 :

json_decode () теперь отклоняет не строчные варианты литералов JSON true, false и null во все времена, согласно спецификации json

и по стандарт ПСР-2 :

ключевые слова PHP должны быть в нижнем регистре.

константы PHP true, false и null должны быть в нижнем регистре.

Ps.: Я не мог опубликовать ссылку на RFC7159 из-за ограничений SO.


константы чувствительны к регистру по умолчанию. Но для симметрии других пространств имен идентификаторов они могут быть определены без учета регистра:

 define("mixedCASE", 123, TRUE);

 print MiXeDcAsE;

и TRUE и FALSE были предварительно объявлены. (Они не парсер/языковые примитивы.)


нет, парсер PHP не очень суетливый, когда дело доходит до TRUE, true и FALSE, false