This site is mobile accessible. Press the "Tap Here" button to use a different font-size.


Smartphone icons created by Freepik - Flaticon

2.6 PHP Casting

  • Sometimes you need to change a variable from one data type into another, and sometimes you want a variable to have a specific data type. This can be done with casting.

    Change Data Type

    • Casting in PHP is done with these statements:
      • (string) - Converts to data type String
      • (int) - Converts to data type Integer
      • (float) - Converts to data type Float
      • (bool) - Converts to data type Boolean
      • (array) - Converts to data type Array
      • (object) - Converts to data type Object
      • (unset) - Converts to data type NULL

    Cast to String

    To cast to string, use the (string) statement:

    Example 1: PHP Casting - Cast to String
    $a = 5;       // Integer
    $b = 5.34;    // Float
    $c = "hello"; // String
    $d = true;    // Boolean
    $e = NULL;    // NULL
    
    $a = (string) $a;
    $b = (string) $b;
    $c = (string) $c;
    $d = (string) $d;
    $e = (string) $e;
    
    //To verify the type of any object in PHP, use the var_dump() function:
    var_dump($a);
    var_dump($b);
    var_dump($c);
    var_dump($d);
    var_dump($e);

    Cast to Integer

    To cast to integer, use the (int) statement:

    Example 2: PHP Casting - Cast to Integer
    $a = 5;       // Integer
    $b = 5.34;    // Float
    $c = "25 kilometers"; // String
    $d = "kilometers 25"; // String
    $e = "hello"; // String
    $f = true;    // Boolean
    $g = NULL;    // NULL
    
    $a = (int) $a;
    $b = (int) $b;
    $c = (int) $c;
    $d = (int) $d;
    $e = (int) $e;
    $f = (int) $f;
    $g = (int) $g;

    Cast to Float

    To cast to float, use the (float) statement:

    Example 3: PHP Casting - Cast to Float
    $a = 5;       // Integer
    $b = 5.34;    // Float
    $c = "25 kilometers"; // String
    $d = "kilometers 25"; // String
    $e = "hello"; // String
    $f = true;    // Boolean
    $g = NULL;    // NULL
    
    $a = (float) $a;
    $b = (float) $b;
    $c = (float) $c;
    $d = (float) $d;
    $e = (float) $e;
    $f = (float) $f;
    $g = (float) $g;

    Cast to Boolean

    To cast to boolean, use the (bool) statement:

    Example 4: PHP Casting - Cast to Boolean
    $a = 5;       // Integer
    $b = 5.34;    // Float
    $c = 0;       // Integer
    $d = -1;      // Integer
    $e = 0.1;     // Float
    $f = "hello"; // String
    $g = "";      // String
    $h = true;    // Boolean
    $i = NULL;    // NULL
    
    $a = (bool) $a;
    $b = (bool) $b;
    $c = (bool) $c;
    $d = (bool) $d;
    $e = (bool) $e;
    $f = (bool) $f;
    $g = (bool) $g;
    $h = (bool) $h;
    $i = (bool) $i;
    • If a value is 0, NULL, false, or empty, the (bool) converts it into false, otherwise true.
    • Even -1 converts to true.

    Cast to Array

    To cast to array, use the (array) statement:

    Example 5: PHP Casting - Cast to Array part 1
    $a = 5;       // Integer
    $b = 5.34;    // Float
    $c = "hello"; // String
    $d = true;    // Boolean
    $e = NULL;    // NULL
    
    $a = (array) $a;
    $b = (array) $b;
    $c = (array) $c;
    $d = (array) $d;
    $e = (array) $e;
    • When converting into arrays, most data types converts into an indexed array with one element.
    • NULL values converts to an empty array object.
    • Objects converts into associative arrays where the property names becomes the keys and the property values becomes the values:
    Example 6: PHP Casting - Cast to Array part 2

    Converting Objects into Arrays:

    class Car {
      public $color;
      public $model;
      public function __construct($color, $model) {
        $this->color = $color;
        $this->model = $model;
      }
      public function message() {
        return "My car is a " . $this->color . " " . $this->model . "!";
      }
    }
    
    $myCar = new Car("red", "Volvo");
    
    $myCar = (array) $myCar;
    var_dump($myCar);

    Cast to Object

    To cast to object, use the (object) statement:

    Example 7: PHP Casting - Cast to Object part 1
    $a = 5;       // Integer
    $b = 5.34;    // Float
    $c = "hello"; // String
    $d = true;    // Boolean
    $e = NULL;    // NULL
    
    $a = (object) $a;
    $b = (object) $b;
    $c = (object) $c;
    $d = (object) $d;
    $e = (object) $e;
    • When converting into objects, most data types converts into a object with one property, named "scalar", with the corresponding value.
    • NULL values converts to an empty object.
    • Indexed arrays converts into objects with the index number as property name and the value as property value.
    • Associative arrays converts into objects with the keys as property names and values as property values.
    Example 8: PHP Casting - Cast to Object part 2

    Converting Arrays into Objects:

    $a = array("Volvo", "BMW", "Toyota"); // indexed array
    $b = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43"); // associative array
    
    $a = (object) $a;
    $b = (object) $b;

    Cast to NULL

    To cast to NULL, use the (unset) statement:

    Example 9: PHP Casting - Cast to NULL
    $a = 5;       // Integer
    $b = 5.34;    // Float
    $c = "hello"; // String
    $d = true;    // Boolean
    $e = NULL;    // NULL
    
    $a = (unset) $a;
    $b = (unset) $b;
    $c = (unset) $c;
    $d = (unset) $d;
    $e = (unset) $e;
    Navigate this module

    Eventually the navigation links, above, will be replaced by these << (previous) and >> (next) buttons below.



    Animated PHP icons used in the buttons provided by ICONS8.COM. Smartphone icons created by Freepik - Flaticon

    Module 2 quiz