PHP Numbers

PHP Numbers

One thing to notice about PHP is that it provides automatic data type conversion. So, if you assign an integer value to a variable, the type of that variable will automatically be an integer. Then, if you assign a string to the same variable, the type will change to a string.

This automatic conversion can sometimes break your code.

Rules for PHP variables:

PHP Integers

An integer is a number without any decimal part.

2, 256, -256, 10358, -179567 are all integers. While 7.56, 10.0, 150.67 are floats. So, an integer data type is a non-decimal number between -2147483648 and 2147483647. A value greater (or lower) than this, will be stored as float, because it exceeds the limit of an integer.

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 (10-based), hexadecimal (16-based - prefixed with 0x) or octal (8-based - prefixed with 0)

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()

However; all variable names are case-sensitive!

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

    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:

    PHP has the following functions to check if the type of a variable is float:

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

    PHP NaN

    NaN stands for Not a Number.NaN is used for impossible mathematical operations. PHP has the is_nan( ) functions to check if a value is not a number . However, the PHP var_dump( ) function returns the data type and value:

  •       
                            <?php
    // Invalid calculation will return a NaN value:
    $x = acos(8);
    var_dump($x);
    ?>
                        

    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.

  •       
                            <?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));
    ?>
                        

    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), or intval() function are often used to convert a value to an integer.

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

    Dess App

    DessApp is an Integrated E-learning Education, Interactive and User-friendly features, smarter options and redefining your school costs effectively and efficiently.

    View
    1 1