2014-01-29 2 views
1

Допустим, у меня есть переменная $ a, которая содержит целое число от 0 до 10. $ a не должно быть пустым/не null для запуска кода. Он работает, когда целое число от 1 до 10, но когда оно равно 0, оно обрабатывает $ a как пустое.Как отличить 0 от пустой переменной?

$a = 5; 

if (!empty($a)) 
{ echo "not empty"; } 
else 
{ echo "empty";} 

В этом случае он отгоняет «не пусто».

$a = 0; 

if (!empty($a)) 
{ echo "not empty"; } 
else 
{ echo "empty";} 

Но в этом случае он перекликается с «пустым».

Есть ли способ различать 0 и пустую переменную?

ответ

1

Вы можете использовать оператор строгого равенства === для проверки нуля:

$a = 0; 
$isZero = $a === 0; // $isZero is true 
+0

Спасибо, это сработало для меня –

1

чек на нулевую длину строки из 0

if(null === $a || strlen($) === 0) { 
} 
0

Существует разница между EMPTY и NULL. Для $a = 0, $a - ПУСТОЙ, но не NULL. Таким образом, вы можете использовать isset($a), чтобы проверить, является ли $a NULL или нет.

if (isset($a)) { 
echo 'not null'; 
} else { 
echo 'is null'; 
} 
Смежные вопросы