Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 带0的筛选器_输入返回false_Php_Filter Input - Fatal编程技术网

Php 带0的筛选器_输入返回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

我现在正在使用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_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';
}