Если заявление — Как различить значение равно нулю или NULL в PHP?

У меня есть переменная, например $moon

В некоторых случаях его значение

$moon=0;

В других случаях его значение

$moon=NULL;

Теперь в случае если как я могу различить эти значения?

Мой код

if($moon==0 && !empty($moon)){
echo "its zero";
}else{
echo "its null";
}

это всегда показывает «его ноль»

Я тоже пробовал

if($moon==0 && $moon!=NULL){
echo "its zero";
}else{
echo "its null";
}

1

Решение

проверить на нулевое использование:

if (is_null($moon))

для проверки целого числа 0 используйте:

if ($moon === 0)

проверить целое число 0 или строку «0»

if ($moon == '0')

Я должен добавить, что php будет считать любую строку равной нулю при использовании «==»:

$moon = "asd";

if ($moon == 0) // will be true
4

Другие решения

Возможно, вы захотите использовать три равных, чтобы увидеть, является ли данное значение идентичным, так

$moon = 0;
if($moon === 0) {
echo 'its zero';
} else {
echo 'is null';
}

Вы можете проверить больше об операторах сравнения Вот

1

Как уже упоминалось, вы можете использовать is_null() функция.

Вы можете использовать эту функцию вместе с ! оператор в вашем if() утверждение следующее:

if( $moon==0 && !is_null($moon) ){
echo "its zero";
}else{
echo "its null";
}
1

Вы можете использовать следующее решение (используя is_null а также ===):

if (is_null($moon)) {
echo "its null";
} elseif ($moon === 0) {
echo "its zero";
} elseif ($moon == 0) {
echo "its zero (string)";
} else {
echo "another value";
}

Вы можете использовать функцию is_null.

объяснение с помощью is_null:

$val1 = NULL;
$val2 = 0;
var_dump(is_null($val1)); //true
var_dump(is_null($val2)); //false

объяснение с помощью ===:

$val1 = NULL;
$val2 = 0;
var_dump($val1 === 0); //false
var_dump($val2 === 0); //true

Демо-версия: https://ideone.com/TpPQQi

1

Использование языковой конструкции PHP isset() сообщит true сообщите, если значение НЕ null, Вы также можете использовать is_null(), но isset() как правило, сообщается как быстрее.

if(isset($var)){
echo 'It is something.';
}else{
echo 'It is nothing.';
}

или же

if(!is_null($var)){
echo 'It is something.';
}else{
echo 'It is nothing.';
}

или же

if($var !== null)){
echo 'It is something.';
}else{
echo 'It is nothing.';
}
1
По вопросам рекламы [email protected]