Я использую filter_input, и теперь я хочу, чтобы вернуть истинна на каждый номер (0-9) и ложно на неиска чисел (аз, AZ и т.д ..)filter_input с 0 возвращает ложное
Теперь я использовать этот скрипт (просто пример сценария, но идея та же):
<?php
$i = filter_input(INPUT_GET, 'i', FILTER_SANITIZE_NUMBER_INT);
if ($i)
{
echo 'good';
}
else
{
echo 'bad';
}
Если я использую 1-9 в качестве GET переменной (так как test.php?i=1
), это показывает good
. Если я использую a-Z как переменную GET (так как test.php?i=a
), она показывает bad
. Все идет нормально.
Но если я использую 0 как переменную GET, она также показывает плохое. Переменная может быть 0 и должна быть истиной, когда переменная GET равна 0.
Может ли кто-нибудь объяснить мне, почему 0 возвращает false? Я имею в виду, что переменная GET установлена, а 0 - число. Это просто потому, что 0 является ложным значением?
'если (is_int ($ я)) {' –
Это возвращает плохо, а для 0. –