Twitt
@Twitt

Пустая строка и null — отличия?

Есть ли разница между записями:
$a = null;
$a = '';
В обеих случаях у $a нет значения. Но когда я инициализировал переменные как null, меня спросили почему нулл а не пустая строка?
Собственно я думал это одно и то же, разве нет ?
  • Вопрос задан
  • 7539 просмотров
Пригласить эксперта
Ответы на вопрос 2
Собственно я думал это одно и то же, разве нет ?

нет.
В обеих случаях у $a нет значения.

в обоих случаях у а есть вполне конкретные значения и тип.
null
string

а кажется вам что это одно и тоже, потому что при не строгом сравнении == они будут равны, и empty($a) вернет true в обоих случаях
types.comparisons
Ответ написан
Комментировать
А вы прогоните через gettype() ваши переменные. NULL - это тип данных, который используется для обозначения пустой переменной. а $a='' - это тип данных строка, пустая, но строка, а не пустота. Кроме строк вы в переменные можете записать массивы, объекты, числа и т.д., поэтому добавили именно отдельный тип для абстрагирования от других существующих типов.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы