gratiszona

Declaracion de tipos

PHP no requiere (o soporta) la declaracion explicita del tipo en la declaracion 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 despues se asigna un valor entero a la variable var, se convierte en una variable
entera.
Un ejemplo de conversion de tipo automatica en PHP3 es el operador suma ’+’. Si cualquiera de los operandos es un doble
entonces todos los operandos se evaluan como dobles y el resultado sera un doble. En caso contrario, los operandos se
interpretaran como enteros y el resultado sera tambien un entero. Notese que esto NO cambia los tipos de los operandos
propiamente dichos; el unico cambio esta en como se evaluan 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)

casting (conversion de un tipo a otro)

El casting de tipos en PHP funciona como en C: el nombre del tipo deseado se escribe entre parentesis 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)
Notese que las tabulaciones y espacios se permiten dentro de los parentesis, asi que los siguientes ejemplos son
funcionalmente equivalentes:
$foo = (int) $bar;
$foo = (int ) $bar;
Anterior: arrays en php
Siguiente: variables en php