PHP Casting

Sometimes you need to convert a variable from one data type to another, or you want a variable to have a specific data type. This process is known as casting.

Tutorials dojo strip



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 a variable to a string, use the (string) statement:

$gear = 5;       // Integer
$speed = 120.5;  // Float
$greeting = "hello"; // String
$isFast = true;    // Boolean
$notAvailable = NULL; // NULL

$gear = (string) $gear;
$speed = (string) $speed;
$greeting = (string) $greeting;
$isFast = (string) $isFast;
$notAvailable = (string) $notAvailable;

// To verify the type of any object in PHP, use the var_dump() function:
var_dump($gear);
var_dump($speed);
var_dump($greeting);
var_dump($isFast);
var_dump($notAvailable);




Cast to Integer

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

$gear = 5;       // Integer
$speed = 120.5;  // Float
$distance = "500 miles"; // String
$road = "miles 500"; // String
$greeting = "hello"; // String
$isFast = true;    // Boolean
$notAvailable = NULL; // NULL

$gear = (int) $gear;
$speed = (int) $speed;
$distance = (int) $distance;
$road = (int) $road;
$greeting = (int) $greeting;
$isFast = (int) $isFast;
$notAvailable = (int) $notAvailable;




Cast to Float

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

$gear = 5;       // Integer
$speed = 120.5;  // Float
$distance = "500 miles"; // String
$road = "miles 500"; // String
$greeting = "hello"; // String
$isFast = true;    // Boolean
$notAvailable = NULL; // NULL

$gear = (float) $gear;
$speed = (float) $speed;
$distance = (float) $distance;
$road = (float) $road;
$greeting = (float) $greeting;
$isFast = (float) $isFast;
$notAvailable = (float) $notAvailable;




Cast to Boolean

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

$gear = 5;       // Integer
$speed = 120.5;  // Float
$zero = 0;       // Integer
$negative = -1;  // Integer
$distance = 0.1; // Float
$greeting = "hello"; // String
$emptyString = "";  // String
$isFast = true;    // Boolean
$notAvailable = NULL; // NULL

$gear = (bool) $gear;
$speed = (bool) $speed;
$zero = (bool) $zero;
$negative = (bool) $negative;
$distance = (bool) $distance;
$greeting = (bool) $greeting;
$emptyString = (bool) $emptyString;
$isFast = (bool) $isFast;
$notAvailable = (bool) $notAvailable;

If a value is 0, NULL, false, or empty, casting it to a boolean converts it to false. Otherwise, it converts to true. Even -1 converts to true.




Cast to Array

To cast a variable to an array, use the (array) statement:

$gear = 5;       // Integer
$speed = 120.5;  // Float
$greeting = "hello"; // String
$isFast = true;    // Boolean
$notAvailable = NULL; // NULL

$gear = (array) $gear;
$speed = (array) $speed;
$greeting = (array) $greeting;
$isFast = (array) $isFast;
$notAvailable = (array) $notAvailable;

Most data types convert into an indexed array with one element when cast to arrays. NULL values convert to an empty array.

Example: Converting Objects into Arrays

class Motorcycle {
  public $brand;
  public $model;
  public function __construct($brand, $model) {
    $this->brand = $brand;
    $this->model = $model;
  }
  public function description() {
    return "My motorcycle is a " . $this->brand . " " . $this->model . "!";
  }
}

$myMotorcycle = new Motorcycle("Honda", "CB500");

$myMotorcycle = (array) $myMotorcycle;
var_dump($myMotorcycle);




Cast to Object

To cast a variable to an object, use the (object) statement:

$gear = 5;       // Integer
$speed = 120.5;  // Float
$greeting = "hello"; // String
$isFast = true;    // Boolean
$notAvailable = NULL; // NULL

$gear = (object) $gear;
$speed = (object) $speed;
$greeting = (object) $greeting;
$isFast = (object) $isFast;
$notAvailable = (object) $notAvailable;

Most data types convert into an object with one property named “scalar” with the corresponding value. NULL values convert to an empty object.

Example: Converting Arrays into Objects

$brands = array("Honda", "Yamaha", "Suzuki"); // Indexed array
$models = array("CB500"=>"500cc", "R6"=>"600cc", "GSX"=>"750cc"); // Associative array

$brands = (object) $brands;
$models = (object) $models;




Cast to NULL

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

$gear = 5;       // Integer
$speed = 120.5;  // Float
$greeting = "hello"; // String
$isFast = true;    // Boolean
$notAvailable = NULL; // NULL

$gear = (unset) $gear;
$speed = (unset) $speed;
$greeting = (unset) $greeting;
$isFast = (unset) $isFast;
$notAvailable = (unset) $notAvailable;

Tutorials dojo strip
Scroll to Top