У меня есть переменная, например $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";
}
проверить на нулевое использование:
if (is_null($moon))
для проверки целого числа 0 используйте:
if ($moon === 0)
проверить целое число 0 или строку «0»
if ($moon == '0')
Я должен добавить, что php будет считать любую строку равной нулю при использовании «==»:
$moon = "asd";
if ($moon == 0) // will be true
Возможно, вы захотите использовать три равных, чтобы увидеть, является ли данное значение идентичным, так
$moon = 0;
if($moon === 0) {
echo 'its zero';
} else {
echo 'is null';
}
Вы можете проверить больше об операторах сравнения Вот
Как уже упоминалось, вы можете использовать is_null()
функция.
Вы можете использовать эту функцию вместе с !
оператор в вашем if()
утверждение следующее:
if( $moon==0 && !is_null($moon) ){
echo "its zero";
}else{
echo "its null";
}
Вы можете использовать следующее решение (используя 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
Использование языковой конструкции 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.';
}