Cambio del tipo de las variables en PHP

  • Por
Formas en que una variable de PHP puede ver variado su tipo.
PHP no requiere que indiquemos el tipo que va a contener una variable, sino que lo deduce del valor que asignemos a la variable. Asimismo, se encarga de actualizar automáticamente el tipo de la variable cada vez que le asignamos un nuevo valor.

Por ello, para cambiar el tipo de una variable simplemente le asignamos un valor con un nuevo tipo.

Nota: Se excluyen en este caso el cambio de variables a tipo Array porque la sintaxis puede resultar ambigua al expresar ese código, es decir, puede darse el caso de que una línea de código pueda significar dos cosas.

$a = "1";
//$a es una cadena
$a[0] = "f";
//¿Estamos editando el índice de la cadena o forzando a array?


Forzado

En cualquier caso, podemos forzar una variable para que cambie de tipo con la función setType().

setType($variable,"nuevo_tipo");


la función setType() actualiza el tipo de $variable a "nuevo_tipo" y devuelve un boleano indicando si hubo éxito o no en la conversión.

Entre "nuevo_tipo" tenemos:

· "integer"
· "double"
· "string"
· "array"
· "object"


También podemos hacer que una variable se comporte como un tipo determinado forzándola, de la misma manera a como se hace en el lenguaje C.

$variable = "23";
$variable = (int) $variable;


Los forzados permitidos son:

· (int), (integer) - fuerza a entero (integer)
· (real), (double), (float) - fuerza a doble (double)
· (string) - fuerza a cadena (string)
· (array) - fuerza a array (array)
(object) - fuerza a objeto (object)

Autor

Miguel Angel Álvarez

Miguel es fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Comenzó en el mundo del desarrollo web en el año 1997, transformando su hobby en su trabajo.

Compartir

Comentarios

juva

19/3/2008
Creo que hasta aqui el manual va bien, pero si se le da pasar al siguiente tema, se adelanta mucho la info que viene en ese link. Sugiero que se revise eso porfas

Raul

23/11/2014
El link esta desubicado.
Cuando se le da a este link en vez de pasar al siguiente (Variables de sistema en PHP) se adelanta mucho y así sigue haciendo lo, por favor revisen esto.