Php filter_var函数
我知道函数filter_var()返回true或false,但我的意思是如果Php filter_var函数,php,Php,我知道函数filter_var()返回true或false,但我的意思是如果 if( filter_var( $value , FILTER_VALIDATE_INT ) ) echo 'value is sanitized'; else echo 'value is sanitized'; 有人能解释一下这个函数何时返回true或false吗?它永远不会返回true。如果$value不是一个整数,它将返回false。正如@deceze所说,您要么返回经过净化的变量,要么返回
if( filter_var( $value , FILTER_VALIDATE_INT ) )
echo 'value is sanitized';
else
echo 'value is sanitized';
有人能解释一下这个函数何时返回true或false吗?它永远不会返回true。如果
$value
不是一个整数,它将返回false
。正如@deceze所说,您要么返回经过净化的变量,要么返回false(如果函数出错)
现在,PHP让您可以做一些有趣的事情:如果定义了一个变量并在条件语句中使用它,任何不能隐式转换为布尔值FALSE(即空字符串或实际的FALSE值)的内容都将被视为等效于布尔值TRUE。比如说,当我们迭代从数据库检索到的数据集时,我们总是使用这种方法
因此,如果调用filter\u var
并成功获取$value
的值,则围绕调用filter\u var
的if()
语句将使用$value
的值作为条件值
HTH.如果函数成功,则的返回值是第一个参数的值,否则它将返回false
$x=5;
$y=3;
$z=11;
$t=‘abc’;
$options=array(
'选项'=>['最小范围'=>5'最大范围'=>10],
“标志”=>过滤器需要标量
);
if(false==filter\u var($x,filter\u VALIDATE\u INT,$options)){
//filter_var将返回$x(5)的值
//不会抛出任何异常
抛出new\InvalidArgumentException($x不是有效输入);
}
if(false==filter\u var($y,filter\u VALIDATE\u INT,$options)){
抛出new\InvalidArgumentException($y不是有效输入);
}
if(false==filter\u var($z,filter\u VALIDATE\u INT,$options)){
抛出new\InvalidArgumentException($z不是有效输入);
}
if(false==filter\u var($t,filter\u VALIDATE\u INT,$options)){
抛出new\InvalidArgumentException($t不是有效输入);
}
唯一不会引发异常的变量是$x
,因为它是一个整数,并且在$options['options']
定义的范围内
另见:
FALSE
。