Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PHP: Best way to check if input is a valid number?

People also ask

How do you know if input value is a number?

In JavaScript, there are two ways to check if a variable is a number : isNaN() – Stands for “is Not a Number”, if variable is not a number, it return true, else return false. typeof – If variable is a number, it will returns a string named “number”.

Is number valid in PHP?

To check if given string is a number or not, use PHP built-in function is_numeric(). is_numeric() takes string as an argument and returns true if the string is all numbers, else it returns false.

Is integer validation in PHP?

Definition and UsageThe FILTER_VALIDATE_INT filter is used to validate value as integer. FILTER_VALIDATE_INT also allows us to specify a range for the integer variable. Possible options and flags: min_range - specifies the minimum integer value.


ctype_digit was built precisely for this purpose.


I use

if(is_numeric($value) && $value > 0 && $value == round($value, 0)){

to validate if a value is numeric, positive and integral

http://php.net/is_numeric

I don't really like ctype_digit as its not as readable as "is_numeric" and actually has less flaws when you really want to validate that a value is numeric.


filter_var()

$options = array(
    'options' => array('min_range' => 0)
);

if (filter_var($int, FILTER_VALIDATE_INT, $options) !== FALSE) {
 // you're good
}

return ctype_digit($num) && (int) $num > 0

For PHP version 4 or later versions:

<?PHP
$input = 4;
if(is_numeric($input)){  // return **TRUE** if it is numeric
    echo "The input is numeric";
}else{
    echo "The input is not numeric";
}
?>