PHP-filter\u var和filter\u VALIDATE\u FLOAT的BUG

PHP-filter\u var和filter\u VALIDATE\u FLOAT的BUG,php,range,filter-var,Php,Range,Filter Var,我认为这个过滤器有一个bug,或者我做错了什么: 试试这个: $options = array( 'options' => array( 'default' => 3, 'min_range' => 1000.0, 'max_range' => 5000.6, ) ); $VariableVa

我认为这个过滤器有一个bug,或者我做错了什么: 试试这个:

        $options = array(
            'options' => array(
                'default' => 3,
                'min_range' => 1000.0,
                'max_range' => 5000.6,
            )
        );

  $VariableValue2 = 5698;
  $VariableValue4 = 5698.2;

  $chicco3 = filter_var($VariableValue2, FILTER_VALIDATE_INT, $options);
  $chicco4 = filter_var($VariableValue4, FILTER_VALIDATE_FLOAT, $options);
它应该不会验证它。。。事实上,该值:5698大于5000.6!!!! 但是有了FILTER\u VALIDATE\u INT,它就可以正常工作了!!如果不验证它,它将返回默认值3。。。完美的

相反,使用FILTER\u VALIDATE\u FLOAT来验证它。。。它返回5698.2!!!我做错了什么

谢谢大家

萨缪尔检查;看起来您对过滤器使用了错误的选项。
min\u range
max\u range
选项用于
filter\u validate\u int
过滤器

顺便说一句,如果你只是检查一个数字的大小,那么使用某种

if( ( $number > 1000 ) && ( $number < 5000.6 ) )
    // do stuff;
if($number>1000)和&($number<5000.6))
//做事;
改为机械装置。

检查;看起来您对过滤器使用了错误的选项。
min\u range
max\u range
选项用于
filter\u validate\u int
过滤器

顺便说一句,如果你只是检查一个数字的大小,那么使用某种

if( ( $number > 1000 ) && ( $number < 5000.6 ) )
    // do stuff;
if($number>1000)和&($number<5000.6))
//做事;

机制。在7.4之前,FILTER\u VALIDATE\u FLOAT不接受范围选项。检查7.4之前的。

过滤器\u验证\u浮动不接受范围选项。查看。

哦,非常感谢。。。我想你是对的。。。但我认为它使用相同的选项。。。因此,我无法使用函数FILTER\u validate\u float验证浮点的范围?看起来很奇怪,用FILTER\u VALIDATE\u INT你能做到,而用FILTER\u VALIDATE\u FLOAT你不能做到。。。不管怎样,我会自己做的。。。再次感谢……:)它已添加到7.4.0中!哦,非常感谢。。。我想你是对的。。。但我认为它使用相同的选项。。。因此,我无法使用函数FILTER\u validate\u float验证浮点的范围?看起来很奇怪,用FILTER\u VALIDATE\u INT你能做到,而用FILTER\u VALIDATE\u FLOAT你不能做到。。。不管怎样,我会自己做的。。。再次感谢……:)它已添加到7.4.0中!更新:
min\u range
max\u range
选项现在在PHP>=7.4.0中可用更新:
min\u range
max\u range
选项现在在PHP>=7.4.0中可用