我是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"