Implicit and Explicit Casting

PHP is a loosely typed language that allows you to declare a variable and its type simply by using it. It also automatically converts values from one type to another whenever required. This is called implicit casting.
However, there may be times when PHP’s implicit casting is not what you want. In following, note that the inputs to the division are integers. By default, PHP converts the output to floating-point so it can give the most precise value—4.66 recurring.

<?php $a = 56;
$b = 12;
$c = $a / $b;
echo $c;

But what if we had wanted $c to be an integer instead? There are various ways in which this could be achieved; one way is to force the result of $a/$b to be cast to an integer value using the integer cast type (int), like this:

$c = (int) ($a / $b);

This is called explicit casting. Note that in order to ensure that the value of the entire expression is cast to an integer, the expression is placed within parentheses. Otherwise, only the variable $a would have been cast to an integer—a pointless exercise, as the division by $b would still have returned a floating-point number.
You can explicitly cast to the types shown in following table :

Cast Type Description
(int) (integer) Cast to an integer by dropping the decimal portion
(bool) (boolean) Cast to a Boolean
(float) (double) (real) Cast to a floating-point number
(string) Cast to a string
(array) Cast to an array
(object) Cast to an object

You may also like...