PHP Numbers
PHP Numbers
There are three main numeric types in PHP:
IntegerFloatNumeric Strings
In addition, PHP has two more data types used for numbers:
InfinityNaN
Variables of numeric types are created when you assign a value to them:
Example
$a = 5;
$b = 5.34;
$c = "25";
To verify the data type of any variable/object in PHP, use the
var_dump() function:
The PHP is_int() Function
The is_int()
function checks if the type of a variable is integer.
An integer is a number without any decimal part: 2, 256, -256, 10358, -179567 are all integers.
Example
Check if variable is of type integer:
$x = 5985;
var_dump(is_int($x));
$y = 59.85;
var_dump(is_int($y));
Try it Yourself »
An integer data type is a non-decimal number between -2147483648 and 2147483647 in 32 bit systems, and between -9223372036854775808 and 9223372036854775807 in 64 bit systems. A value greater (or lower) than this, will be stored as float, because it exceeds the limit of an integer.
Note: Another important thing to know is that even if 4 * 2.5 is 10, the result is stored as float, because one of the operands is a float (2.5).
Here are some rules for integers:
- An integer must have at least one digit
- An integer must NOT have a decimal point
- An integer can be either positive or negative
- Integers can be specified in three formats: decimal (base 10), hexadecimal (base 16 - prefixed with 0x), octal (base 8 - prefixed with 0) or binary (base 2 - prefixed with 0b)
PHP has the following predefined constants for integers:
PHP_INT_MAX- The largest integer supportedPHP_INT_MIN- The smallest integer supportedPHP_INT_SIZE- The size of an integer in bytes
The PHP is_float() Function
The is_float()
function checks if the type of a variable is float.
A float is a number with a decimal point or a number in exponential form: 2.0, 256.4, 10.358, 7.64E+5, 5.56E-5 are all floats.
Example
Check if a variable is of type float:
$x = 10.365;
var_dump(is_float($x));
Try it Yourself »
The float data type can commonly store a value up to 1.7976931348623E+308 (platform dependent), and have a maximum precision of 14 digits.
PHP has the following predefined constants for floats (from PHP 7.2):
PHP_FLOAT_MAX- The largest representable floating point numberPHP_FLOAT_MIN- The smallest representable positive floating point numberPHP_FLOAT_DIG- The number of decimal digits that can be rounded into a float and back without precision lossPHP_FLOAT_EPSILON- The smallest representable positive number x, so that x + 1.0 != 1.0
PHP Infinity
The PHP is_finite()
function checks whether a value is finite or not. A value is finite if it is within the allowed range for a
PHP float on this platform.
The PHP is_infinite()
function checks whether a value is infinite or not. A value is infinite if it is outside the allowed range for
a PHP float on this platform.
Example
Check if a numeric value is infinite:
$x = 1.9e411;
var_dump(is_infinite($x));
Try it Yourself »
PHP NAN and is_nan() Function
NAN stands for "Not A Number".
NAN is returned for invalid mathematical operations.
The is_nan()
function is used to check if a value is "Not A Number" (NAN).
Example
An invalid calculation will return a NAN value, and is_nan() is used to check it:
$x = acos(8);
var_dump($x);
// Check if value is not a number (NaN)
var_dump(is_nan($x));
Try it Yourself »
PHP Number and Numerical Strings
The is_numeric() function
is used to check whether a variable is a number or a numeric string.
This function returns true if the variable is a number or a numeric string, false otherwise.
Example
Check if a variable is a number or a numeric string:
$x = 5985;
var_dump(is_numeric($x));
$x = "5985";
var_dump(is_numeric($x));
$x = "59.85" + 100;
var_dump(is_numeric($x));
$x = "Hello";
var_dump(is_numeric($x));
Try it Yourself »
PHP Get The Integer Value of a Variable
The intval() function
is used to get the integer value
of a variable.
Example
Get the integer value of a float and a string:
$x = 23465.768;
echo intval($x);
echo "<br>";
$x = "23465.768";
echo intval($x);
Try it Yourself »