PHP Numbers


PHP Numbers

One thing to note about PHP is that it provides automatic data type conversion.

Therefore, if you assign a total value to a variable, the type of variable will be the absolute number by default. Then, if you assign a character unit to the same variable, the type will change to a character unit.

This automatic modification may sometimes violate your code.


PHP Integers

2, 256, -256, 10358, -179567 all numbers.

Number is a non-decimal fraction.

The total data number is a non-decimal number between 2147483648 and 2147483647 in 32 bit systems, and between -2222772036854775808 and 9223372036854775807 in 64 bit systems. A value greater (or less) than this, will be saved as a float, because it exceeds the limit of the total number.

Note: Another important thing to know is that even if 4 * 2.5 is 10, the result is kept as float, because one of the operands is 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 (10-based), hexadecimal (16-based - prefixed with 0x) or octal (8-based - prefixed with 0)

PHP has the following pre-constants as integers:

  • PHP_INT_MAX - The largest integer supported
  • PHP_INT_MIN - The smallest integer supported
  • PHP_INT_SIZE - The size of an integer in bytes

PHP has the following functions to check that the type of variable is a whole number:

  • is_int()
  • is_integer() - alias of is_int()
  • is_long() - alias of is_int()

Example

Check if the type of a variable is integer:

<?php
$x = 5985;
var_dump(is_int($x));

$x = 59.85;
var_dump(is_int($x));
?>


PHP Floats

A float is a number with a decimal point or a number in the descriptive form.

2.0, 256.4, 10.358, 7.64E + 5, 5.56E-5 all float.

Floating data type can generally hold values ​​up to 1.7976931348623E + 308 (depending on location), and have a maximum accuracy of 14 digits.

PHP has the following pre-floating modes (from PHP 7.2):

  • PHP_FLOAT_MAX - The largest representable floating point number
  • PHP_FLOAT_MIN - The smallest representable positive floating point number
  • PHP_FLOAT_MAX - The smallest representable negative floating point number
  • PHP_FLOAT_DIG - The number of decimal digits that can be rounded into a float and back without precision loss
  • PHP_FLOAT_EPSILON - The smallest representable positive number x, so that x + 1.0 != 1.0

PHP has the following functions for testing whether a type of flexibility is floating:

  • is_float()
  • is_double() - alias of is_float()

Example

Check if the type of a variable is float:

<?php
$x = 10.365;
var_dump(is_float($x));
?>


PHP Infinity

A number greater than PHP_FLOAT_MAX is considered infinite.

PHP has the following functions to check whether the number of numbers is limited or not:

  • is_finite()
  • is_infinite()

However, the PHP var_dump () function returns the data type and value:


Example

Check if a numeric value is finite or infinite:

<?php
$x = 1.9e411;
var_dump($x);
?>


PHP NaN

NaN stands for No number.

NaN is used for impossible math tasks.

PHP has the following functions to check if a number is not a number:

  • is_nan()

However, the PHP var_dump () function returns the data type and value:


Example

Invalid calculation will return a NaN value:

<?php
$x = acos(8);
var_dump($x);
?>


PHP Numerical Strings

The PHP function_numeric () can be used to determine whether a variable is a number. The function returns the truth if the variable is a number or unit of numbers, otherwise it is false.


Example

Check if the variable is numeric:

<?php
$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));
?>

Note: From PHP 7.0: The is_numeric () function will return FALSE to numerical units with hexadecimal (eg "0xf4c3b00c"), as it is no longer considered a unit of number.



PHP Casting Strings and Floats to Integers

Sometimes you need to enter a numeric value in another type of data.

The function (int), (integer), or intval () is often used to convert a value into a number.


Example

Cast float and string to integer:

<?php
// Cast float to int
$x = 23465.768;
$int_cast = (int)$x;
echo $int_cast;

echo "<br>";

// Cast string to int
$x = "23465.768";
$int_cast = (int)$x;
echo $int_cast;
?>