问题
我需要验证一些输入。它应该只接受正整数。到目前为止,我的代码工作不正常。
我的代码
if ( !is_numeric($data['dollar']) {
return FALSE;
}
实施例
0 // TRUE
1 // TRUE
-1 // FALSE
0.9 // FALSE
答案 0 :(得分:4)
if ( !ctype_digit($data['dollar']) ) { return FALSE; }
答案 1 :(得分:0)
您可以使用validation functions:
$type = FILTER_VALIDATE_INT;
$options = [ 'min_range' => 1, 'max_range' => PHP_INT_MAX ];
if (false === filter_var($data['dollar'], $type, [ 'options' => $options ])) {
return FALSE;
}
答案 2 :(得分:-1)
您可以使用下面的正则表达式来解决您的问题
return preg_match("/^[0-9]*$/",$data['dollar']);
答案 3 :(得分:-1)
您可以使用is_int()
代替is_numeric()