grigori
не надо жести ) ты не прав, либо не доказал правоту.
NULL -- неопределенное значение.
и точка.
В этом и разница от нуля.
например, undefined в javascript == null. А в C/C++ null актуален только в нулевых указателях.
То, что PHP безтиповый язык не может быть преградой понятию "значение не определено". Именно этим значением и является структура (удивишься, но факт - полазь по исходникам оного) NULL
... Тогда тебе сюда...
Н
и надо -- уже ) я-то и так понимаю что пишу, беда в том, что понятно описать не могу -- только пытаюсь )
Нет, не стоит обсуждать о жизни после смерти.
И не надо еще раз в SQL. Примеры на то и примеры, чтобы на них смотрели и понимали идею, а не реализацию.
---------
По сути. NULL - это да-да-да, тип данных, который используется в случае, если невозможно использовать другой тип данных, значит не достоверно известно ибо тип NULL может принимать лишь одно значение.
Ну, как, например объяснить, есть что-то (основные типы) и есть нечто (это что-то, но еще не понятно что именно == тип NULL).
Выполни-ка код:
PHP:
<?
echo "a ";
echo NULL && true;
echo "\nb ";
echo NULL || true;
echo "\nc ";
echo true || NULL;
?>
Убедишься, что NULL относится как раз-таки к нечеткой логике.
ибо ответом будет:
a
b 1
c 1
Т.е. в "строке" а (булево и) будет пустота. почему?
А фиг его знает, что есть NULL то ли истина, то ли ложь -- не известно.
В отличие от булевых (или), где вторая переменная не имеет значения -- важна "хоть одна из них".
В том числе, например, вспомни математику.
Чему равно выражение 12/0 ? нельзя делить?? значит === NULL
значение определено? Да. оно == 12/0.
Значение известно - нет -- оно не допустимо.
2fixxxer и кто из нас больший индус ))
писать надо так, чтобы было удобно и понятно в первую очередь. )
Да, ты прав, но запутал ))