Возможный дубликат:
В чем разница между is_null ($ var) и ($ var === null)?
У PHP есть два (которые я знаю и три, если вы считаете isset()
) методы, чтобы определить, имеет ли значение значение null: is_null()
и === null
. Я слышал, но не подтвердил, что === null
работает быстрее, но в обзоре кода кто-то настоятельно предложил использовать is_null()
, поскольку он специально разработан для цели нулевой оценки. Он также начал говорить о математике или что-то в этом роде.
Во всяком случае, факт, что is_null()
, по-видимому, медленнее, также заставляет меня думать, что он делает больше, чем === null
, и, вероятно, предпочтителен. Есть ли причина использовать тот или иной? Всегда ли это предпочтительнее? Что насчет isset()
?
Как дополнение, возможно, не закрывает этот вопрос, а что насчет isset()
vs. is_null()
? Кажется, что все isset()
будут делать, это подавление уведомления, поэтому, если вы действительно не хотите получать уведомление для переменной undefined, по какой-либо причине использовать is_null()
вместо этого? Как насчет того, знаете ли вы, что переменная инициализируется в это время?
Наконец, есть ли какая-либо математическая причина предпочесть is_null()
над === null
? Что-то вроде null не сравнимо?