Подтвердить что ты не робот

Разница между NULL и значением null в PHP

Есть ли разница между NULL и NULL в PHP? Иногда они кажутся взаимозаменяемыми, а иногда и нет.

edit: по какой-то причине, когда я прочитал документацию, связанную с ответом (перед отправкой этого вопроса), я прочитал ее как "чувствительный к регистру", а не "нечувствительный к регистру", что было всей причиной, по которой я разместил этот вопрос в первом место...

4b9b3361

Ответ 1

Null нечувствителен к регистру.

В документации :

Существует только одно значение типа null, и это ключевое слово нечувствительное к регистру NULL.

Ответ 2

Нет никакой разницы. Один и тот же тип - это ключевое слово нечувствительное к регистру. То же, что и True/False и т.д.

Ответ 3

Обычно в программировании "null" есть пустая переменная любого типа, в то время как память для нее не выделяется. В php я тоже.

Foo f; // is null
f = new Foo(); // 'new' is a operator, function for memory allocating

"SQL NULL" - это ограничение, когда значение для столбца еще не назначено. Атрибут NOT NULL не установлен и не задано значение по умолчанию.

INSERT INTO t(ID,value) VALUES ('{123}', NULL);

В целом, эти понятия одинаковы. "Еще не присвоено значение". Но в реализации "null" является пустым значением, но DbNull - это специальный класс, который представляет SQL NULL.