PHP no requiere (o soporta) la declaración explícita del tipo
en la declaración de variables; el tipo de una variable se
determina por el contexto en el que se usa esa variable. Esto quiere decir que
si se asigna un valor de cadena a la variable
var, var se convierte en una cadena. Si después se asigna un valor entero
a la variable var, se convierte en una variable
entera.
Un ejemplo de conversión de tipo automática en PHP3 es el operador
suma ’+’. Si cualquiera de los operandos es un doble,
entonces todos los operandos se evalúan como dobles, y el resultado será
un doble. En caso contrario, los operandos se
interpretarán como enteros, y el resultado será también
un entero. Nótese que esto NO cambia los tipos de los operandos
propiamente dichos; el único cambio está en cómo se evalúan
los operandos.
$foo = "0"; // $foo es una
cadena (ASCII 48)
$foo++; // $foo es la cadena "1" (ASCII 49)
$foo += 1; // $foo ahora es un entero (2)
$foo = $foo + 1.3; // $foo ahora es un doble (3.3)
$foo = 5 + "10 Cerditos Pequeñitos"; // $foo es entero (15)
$foo = 5 + "10 Cerditos"; // $foo es entero (15)
El casting de tipos en PHP funciona como en C: el nombre del tipo deseado se
escribe entre paréntesis antes de la variable
a la que se pretende convertir.
$foo = 10; // $foo es un entero
$bar = (double) $foo; // $bar es un doble
Las conversiones de tipo 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)
Nótese que las tabulaciones y espacios se permiten dentro de los
paréntesis, así que los siguientes ejemplos son
funcionalmente equivalentes:
$foo = (int) $bar;
$foo = ( int ) $bar;
|
Anterior: arrays en php |
Siguiente: variables en php |
| articulos relacionados |