Php 带0的筛选器_输入返回false
我现在正在使用filter_输入,我希望它在每个数字(0-9)上返回true,在非数字(a-z、a-z等)上返回false 现在,我使用这个脚本(只是一个示例脚本,但想法是一样的):Php 带0的筛选器_输入返回false,php,filter-input,Php,Filter Input,我现在正在使用filter_输入,我希望它在每个数字(0-9)上返回true,在非数字(a-z、a-z等)上返回false 现在,我使用这个脚本(只是一个示例脚本,但想法是一样的): 0在PHP中是一个错误的值如果(0)为false 此外,您正在使用消毒过滤器,它基本上不会失败。您希望使用过滤器\u验证\u INT验证输入是否为整数 此外,filter\u input在此返回false、null或0。它们都是同样错误的,意思是==false。您需要明确区分它们: $i = filter_inpu
0
在PHP中是一个错误的值<代码>如果(0)
为false
此外,您正在使用消毒过滤器,它基本上不会失败。您希望使用过滤器\u验证\u INT
验证输入是否为整数
此外,filter\u input
在此返回false
、null
或0
。它们都是同样错误的,意思是==false
。您需要明确区分它们:
$i = filter_input(INPUT_GET, 'i', FILTER_VALIDATE_INT);
if ($i === null) {
echo 'value not provided';
} else if ($i === false) {
echo 'invalid value';
} else {
echo 'good';
}
这不起作用,当我使用0或a-z或将其留空时,它仍然返回良好的结果。@Joshua请参阅加法。对于0,它也返回不良的结果。
$i = filter_input(INPUT_GET, 'i', FILTER_VALIDATE_INT);
if ($i === null) {
echo 'value not provided';
} else if ($i === false) {
echo 'invalid value';
} else {
echo 'good';
}