如果语句数组(“选项” => array(“min_range”=>$min, “max_range”=>$max)))


Can someone please explain this if statement array("options" => array("min_range"=>$min, "max_range"=>$max))) === false)

我是PHP的新手,正在阅读有关PHP的信息,并且无法理解包含数组中的数组的if语句。如果有人能用简单的术语解释这一点,那就太好了:

 if (filter_var($int, FILTER_VALIDATE_INT, array("options" => array("min_range"=>$min, "max_range"=>$max))) === false){ 
echo ("this is not in legal range");}
else { echo ("this is in legal range");} 
这是一种

非常复杂的方法来测试$int是否是整数并且介于 $min$max 之间。

这应该和这个一样。

if (is_int($int) && $int >= $min && $int <= $max) {
   // this is a valid range
} else {
   // this is a invalid range
}
数组

中的数组是一种常用的技术。您可以根据需要嵌套任意数量的数组来创建数据结构。

filter_var — 使用指定的过滤器过滤变量

http://php.net/manual/en/function.filter-var.php

FILTER_VALIDATE_INT"int"默认值、min_range、max_range FILTER_FLAG_ALLOW_OCTAL FILTER_FLAG_ALLOW_HEX 将值验证为整数(可选)从指定范围开始,并在成功时转换为 int。

http://php.net/manual/en/filter.filters.validate.php

它只是过滤变量 - 使用验证过滤器检查它是否是最小值和最大值之间的整数。

 if (filter_var($int, FILTER_VALIDATE_INT, array("options" => array("min_range"=>$min, "max_range"=>$max))) === false){ 
echo ("this is not in legal range");}
else { echo ("this is in legal range");} 

解释:

filter_var - 使用指定的过滤器过滤变量。

FILTER_VALIDATE_INT - 检查变量$int是否为整数。

因此,在该if condition中,它正在检查数组是否包含整数值以及$int的值是否落在范围($min$max)值中。

例:

$int = 999999999999999999;
$min = 1;
$max = 2147483647;
if (filter_var($int, FILTER_VALIDATE_INT, array("options"=>
    array("min_range"=>$min, "max_range"=>$max))) === false) {
    echo("Variable value is not within the legal range");
} else {
    echo("Variable value is within the legal range");
}
//This will output "Variable value is not within the legal range"