PHP Numbers

0
3K

In this chapter we will look in depth into Integers, Floats, and Number Strings.


PHP Numbers

There are three main numeric types in PHP:

  • Integer
  • Float
  • Number Strings

In addition, PHP has two more data types used for numbers:

  • Infinity
  • NaN

Variables of numeric types are created when you assign a value to them:

ExampleGet your own PHP Server

$a = 5;
$b = 5.34;
$c = "25";

To verify the type of any object in PHP, use the var_dump() function:

Example

var_dump($a);
var_dump($b);
var_dump($c);
Try it Yourself »

PHP Integers

2, 256, -256, 10358, -179567 are all integers.

An integer is a number without any decimal part.

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 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 if the type of a variable is integer:

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

Example

Check if the type of a variable is integer:

$x = 5985;
var_dump(is_int($x));

$x = 59.85;
var_dump(is_int($x));
Try it Yourself »


PHP Floats

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.

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 number
  • PHP_FLOAT_MIN - The smallest representable positive 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 to check if the type of a variable is float:

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

Example

Check if the type of a variable is float:

$x = 10.365;
var_dump(is_float($x));
Try it Yourself »

PHP Infinity

A numeric value that is larger than PHP_FLOAT_MAX is considered infinite.

PHP has the following functions to check if a numeric value is finite or infinite:

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

Example

Check if a numeric value is finite or infinite:

$x = 1.9e411;
var_dump($x);
Try it Yourself »

PHP NaN

NaN stands for Not a Number.

NaN is used for impossible mathematical operations.

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

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

Example

Invalid calculation will return a NaN value:

$x = acos(8);
var_dump($x);
Try it Yourself »

PHP Numerical Strings

The PHP is_numeric() function can be used to find whether a variable is numeric. The function returns true if the variable is a number or a numeric string, false otherwise.

Example

Check if the variable is numeric:

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

Note: From PHP 7.0: The is_numeric() function will return FALSE for numeric strings in hexadecimal form (e.g. 0xf4c3b00c), as they are no longer considered as numeric strings.


PHP Casting Strings and Floats to Integers

Sometimes you need to cast a numerical value into another data type.

The (int)(integer), and intval() functions are often used to convert a value to an integer.

Example

Cast float and string to integer:

// 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;
Try it Yourself »

Learn more about casting in the PHP Casting chapter.

Căutare
Categorii
Citeste mai mult
Alte
PHP Strings
A string is a sequence of characters, like "Hello world!". Strings Strings in PHP are...
By PHP Tutorial 2024-05-17 07:28:17 0 3K
Alte
تطورات التعلم الآلي وتأثيرها على مستقبل العمل
مقدمة: في ظل التطورات السريعة للتكنولوجيا والابتكار، أصبح التعلم الآلي...
By MOHAMED ATTALLAH 2024-05-14 13:56:58 0 3K
Alte
PHP Math
PHP has a set of math functions that allows you to perform mathematical tasks on numbers. PHP...
By PHP Tutorial 2024-05-17 07:39:09 0 3K
Alte
PHP Variables Scope
PHP Variables Scope In PHP, variables can be declared anywhere in the script. The scope of a...
By PHP Tutorial 2024-05-17 07:18:52 0 3K
Alte
PHP Syntax
A PHP script is executed on the server, and the plain HTML result is sent back to the browser....
By PHP Tutorial 2024-05-17 07:10:53 0 3K