PHP es un lenguaje que no está tipado. Esto permite que puedas declarar y cambiar el tipo (a integer, string…) de una variable simplemente usándola. Automáticamente convierte valores de un tipo a otro cuando lo requiere. Esto se conoce como implicit casting o casting implícito. En este post mostraré cómo convertir los tipos mediante casting explícito.
Es posible que el casting implícito de PHP no sea lo que precisemos en determinadas situaciones. Por ejemplo, si dividimos 2 números enteros, PHP convierte el resultado automáticamente en un float.
1 2 3 4 5 6 |
<?php $a = 56; $b = 12; $c = $a / $b; echo $c; // Será 4.6666666666667 ?> |
Si en este caso si quisiéramos que el resultado fuese un integer? Hay varias formas de poder conseguirlo, una de ellas es forzar el resultado de $a/$b casteándolo a un valor integer usando (int).
1 |
$c = (int) ($a / $b); |
Esto se conoce como casting explícito. En este caso ambos están en paréntesis para asegurarnos que el resultado de esa división sea un integer. De la otra forma, solo castea la variable $a.
Otra forma sería usar la función intval() pero, es algo que ya hablaré en otro post.
Tipos de cast
Cast | Resultado |
---|---|
(int)/(integer) | Se elimina la parte decimal |
(bool)/(boolean) | Pasa a booleano. |
(float)/(double)/(real) | Pasa a un número con decimal. |
(string) | Pasa a un string. |
(array) | Convierte en un array. |
(object) | Convierte en un objeto. |
Y hasta aquí el casting explícito en PHP, espero que os sirva de ayuda. A seguir picando 🙂