Manipulación de tipos
PHP no requiere (ni soporta) la definición explicita de tipos en la declaración
de variables; el tipo de la variable se determina por el contexto en el cual
se emplea la variable. Es decir, si se asigna un valor string a una
variable $var, entonces $var se convierte en un
string. Si un valor integer es entonces asignado a la misma
variable $var, ésta se convierte en integer.
Un ejemplo de la conversión de tipos automática de PHP es el operador suma '+'.
Si al menos uno de los operandos es float, entonces ambos operandos son evaluados
como floats y el resultado será un float. De otra manera,
los operandos seran interpretados como integers, y el resultado será
entonces integer. Tenga en cuenta que esto no
implica que se cambien los tipos de los propios operandos; el único cambio es en
como se evalúan los operandos y en el tipo de expresión en sí mismo.
Si considera confusos los últimos dos ejemplos anteriores, consulte
Conversión de cadenas a
números.
Para forzar a que una variable sea evaluada como un determinado tipo, consulte la sección
Forzado de tipos. Para cambiar el tipo
de variable, consulte la función settype().
Para probar cualquiera de los ejemplos de esta sección, utilice la función
var_dump().
Nota:
El comportamiento de la conversión automática en array está actualmente
sin definir.
Tambien, debido a que PHP soporta el indexado de string mediante
compensaciones mediante la misma sintaxis empleada en el indexado de arrays,
los siguientes ejemplos son válidos para todas las versiones de PHP:
Consulte la sección Acceso a cadenas mediante
caracteres para más información.
Forzado de tipos
El forzado de tipos en PHP funciona de la misma manera que en C:, donde el nombre del
tipo deseado se escribe entre paréntesis antes de la variable que se quiera forzar.
Los siguientes forzados de tipos están permitidos:
-
(int), (integer) - forzado a integer
-
(bool), (boolean) - forzado a boolean
-
(float), (double), (real) - forzado a float
-
(string) - forzado a string
-
(array) - forzado a array
-
(object) - forzado a object
-
(unset) - forzado a NULL (PHP 5)
El forzado (binary) y el soporte del prefijo b fueron añadidos en PHP 5.2.1
Fíjese que se permiten las tabulaciones y espacios dentro de los paréntesis,
por lo que los siguientes ejemplos son funcionalmente equivalentes:
Nota:
El lugar de forzar una variable a string, tambien se puede
encerrar la variable entre comillas dobles.
Puede que no sea obvio que sucede exactamente cuando se fuerzan ciertos tipos.
Para más información, consulte estas secciones: