#php
#php
Вопрос:
Могу ли я использовать такие функции, как is_integer()
, is_string()
и другие подобные им, в качестве надежной проверки, чтобы увидеть, равна ли переменная null? Я предполагаю, что я спрашиваю, равна ли переменная null, если все они возвращают false?
Комментарии:
1. Что ж, если переменная равна
null
, вы можете заключить, что этоis_string()
дает вамfalse
. Но еслиis_string()
выдает вамfalse
, переменная не нужнаnull
…. так что нет , вы не можете использовать их для проверки, является ли переменнаяnull
.
Ответ №1:
Используйте сравнение типов.
$somevar === null
Комментарии:
1. То же, что и с
is_null()
: Требуется существование переменной (isset()
).
Ответ №2:
Вы можете использовать либо is_null(), либо использовать сравнение типов (===). Они практически одинаковы, за исключением того, что сравнение типов будет немного быстрее (под «немного» я имею в виду настолько ужасным, что это почти не имеет значения).
Ответ №3:
Все is_*()
функции проверяют тип значения, это их основное назначение. Чтобы проверить, является ли переменная null
, просто протестируйте ее 😉
is_null($var)
Комментарии:
1. и имейте в виду, что is_null() означает, что он уже прошел isset()
2. Вы правы, но, насколько я знаю, это требуется в любом случае.