Conversión de tipos en PHP

¿Cómo hacer conversión de tipos en PHP

Explanation

La conversión de tipo no es más que cambiar el tipo de datos de una determinada variable de un tipo a otro. Dicho cambio en los tipos de datos se llama Type Casting.

PHP automáticamente convierte de un tipo a otro siempre que sea posible. Por ejemplo, si asigna un valor cadena a la variable, esta variable se convierte en una variable cadena.

A veces, la conversión automática de tipos lleva a resultados inesperados. Por ejemplo, llamar "print" en una matriz hace que PHP imprima "Matriz" en lugar de los elementos de la matriz. PHP no convierte automáticamente la matriz en una cadena de todos sus elementos.

Si usted desea obtener el tipo de variable, puede utilizar la función gettype ().

Ejemplo:


print gettype($var1);
El código anterior imprimirá el tipo de la variable $var1.

Si desea cambiar permanentemente el tipo de variable, puede utilizar la función settype().

Ejemplo:




<?php
$var1 = "5bar"; // cadena
$var2 = true; // booleano
settype($var1, "integer");// $var1 se establece ahora en 5
(entero)
settype($var2, "string"); //$var2 es ahora el valor "1"
(cadena)
?>


En el ejemplo anterior a $var1 se le asigna un valor de cadena por lo que es una variable de cadena y $var2 tiene un valor booleano por lo que es una variable booleana. Ahora $var1 está forzada a cambiar a tipo entero y $var2 está forzada a cambiar a tipo cadena utilizando la función settype.

Si desea cambiar temporalmente el tipo, es decir, desea utilizarlo dentro de una expresión, puede utilizar type casting.

Ejemplo:


(type)$variable
donde type es un tipo de variable que se desea convertir. Algunos ejemplos son:

Ejemplo:



<?php
$var1 = 12.2; // doble
$var2 = "pre"; // cadena
$var3= 10; //entero
$var4=(string)$var1;// $var1 se establece ahora en 12,2 (cadena)
$var5=(boolean)$var2; // $var2 está establecida en 1 (booleano)
$var6=(double)$var3; // $var3 se establece ahora en 10 (doble)
print gettype($var4);
print gettype($var5);
print gettype($var6);
?>


Aquí $var1 se convierte en tipo cadena, $var2 se convierte en tipo booleano y $var3 se convierte al tipo doble.

Es importante saber que la mayoría de las conversiones de tipos de datos se pueden hacer por su cuenta y algunas conversiones pueden conducir a la pérdida de información.

Consideremos el ejemplo de convertir un valor de punto flotante a entero, conducirá a la pérdida de información.

Php Tutorial