PHP Type Casting (original) (raw)

Skip to content

Summary: In this tutorial, you’ll learn about PHP type casting, which allows you to convert a value of one type to another.

Introduction to the PHP type casting #

Type casting allows you to convert a value of one type to another. To cast a value, you use the following type-casting operators:

Cast Operators Conversion
(array) Array
(bool) or (boolean) Boolean
(int) or (integer) Integer
(object) Object
(real), (double), or (float) Float
(string) String

Let’s take some examples of using the type casting operators.

Cast to an integer #

To cast a value to an integer, you use the (int) type-casting operator.

The (int) operator casts a float to an integer. It’ll round the result towards zero. For example:

`<?php

echo (int)12.5 . '
'; // 12 echo (int)12.1 . '
'; // 12 echo (int)12.9 . '
'; // 12 echo (int)-12.9 . '
'; // -12`Code language: PHP (php)

Try it

Suppose you have a string and want to cast it as an integer:

`<?php

$message = 'Hi'; num=(int)num = (int) num=(int)message; echo $num; // 0`Code language: PHP (php)

Try it

The result may not be what you expected.

If a string is numeric or leading numeric, then the (int) will cast it to the corresponding integer value. Otherwise, the (int) cast the string to zero. For example:

`<?php

$amount = (int)'100 USD'; echo $amount; // 100`Code language: PHP (php)

Try it

In this example, the (int) operator casts the string '100 USD' as an integer.

Note that the (int) operator casts null to zero (0). For example:

`<?php

$qty = null; echo (int)$qty; // 0`Code language: PHP (php)

Try it

Cast to a float #

To cast a value to a float, you use the (float) operator. For example:

`<?php

$amount = (float)100; echo $amount; // 100`Code language: PHP (php)

Try it

Cast to a string #

To cast a value to a string, you use the (string) operator.

The following example uses the (string) operator to cast the number 100 to a string:

`<?php

$amount = 100; echo (string)$amount . " USD"; // 100 USD`Code language: PHP (php)

Try it

You don’t need to use the (string) operator in this case because PHP has a feature called type juggling that implicitly converts the integer to a string:

`<?php

$amount = 100; echo $amount . ' USD'; // 100 USD`Code language: PHP (php)

Try it

The (string) operator converts the true value to the string "1" and false value to the empty string (“”). For example:

`<?php

$is_user_logged_in = true; echo (string)$is_user_logged_in; // 1`Code language: PHP (php)

Try it

Output:

1Code language: PHP (php)

The (string) operator casts null to an empty string.

The (string) cast an array to the "Array" string. For example:

`<?php

$numbers = [1,2,3]; str=(string)str = (string) str=(string)numbers;

echo $str; // Array`Code language: PHP (php)

Try it

And you’ll get a warning that you’re attempting to convert an array to a string.

Warning: Array to string conversion in ...Code language: PHP (php)

Summary #

Did you find this tutorial useful?