我需要检查表单输入值是否为正整数(不仅仅是整数),我注意到另一个片段使用以下代码:
$i = $user_input_value;
if (!is_numeric($i) || $i < 1 || $i != round($i)) {
return TRUE;
}
我想知道使用上面的三个检查是否有什么好处,而不是仅仅做这样的事情:
$i = $user_input_value;
if (!is_int($i) && $i < 1) {
return TRUE;
}
最佳答案
不确定为什么没有建议使用 filter_var
对此。我知道这是一个旧线程,但也许它会对某人有所帮助(毕竟,我最终来到这里,对吧?)。
$filter_options = array(
'options' => array( 'min_range' => 0)
);
if( filter_var( $i, FILTER_VALIDATE_INT, $filter_options ) !== FALSE) {
...
}
您也可以添加最大值。
$filter_options = array(
'options' => array( 'min_range' => 0,
'max_range' => 100 )
);
了解更多关于 filters 的信息.
关于php - 检查正整数(PHP)的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4844916/