php - 检查正整数(PHP)的最佳方法?

标签 php validation

我需要检查表单输入值是否为正整数(不仅仅是整数),我注意到另一个片段使用以下代码:

$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/

相关文章:

php - 每个用户的特定页面,php 和 mysql

java - 如何在 Swing 中验证用户的输入?

Javascript AJAX 请求函数不返回任何内容

javascript - 我应该在 jQuery 的 ajax 成功处理程序中验证响应数据吗?

c# - ASP.NET c# 如果选中复选框,则仅验证表单的一部分

php - Laravel Route::current() 返回 null

php - 如何将3个mysql查询组合在一起?

Php7-fpm 未在 Centos7 中运行

validation - 仅当在 Laravel 5.2 中输入该字段时才进行验证

php - 排除意外 mysql 查询故障的技术