Manipulación de tipos
PHP no requiere (o soporta) la definición explícita de tipos en la declaración de variables; el tipo de una variable es determinado por el contexto en el que la variable es usada. Lo que quiere decir que si asigna un valor de cadena a la variable $var, $var se convierte en una cadena. Si luego asigna un valor entero a $var, ésta se convierte en entera.
Un ejemplo de la conversión automática de tipos de PHP es el operador de adición ‘+’. Si cualquiera de los operandos es un flotante, entonces todos los operandos son evaluados como flotantes, y el resultado será un flotante. De otro modo, los operandos serán interpretados como enteros, y el resultado será también un entero.
Moldeamiento de Tipos
El moldeamiento de tipos en PHP funciona de forma muy similar a como ocurre en C: el nombre del tipo deseado es escrito entre paréntesis antes de la variable que debe ser moldeada.
<?php
|
Los moldeamientos permitidos son:
- (int), (integer) – moldeamiento a entero
- (bool), (boolean) – moldeamiento a booleano
- (float), (double), (real) – moldeamiento a flotante
- (string) – moldeamiento a cadena
- (array) – moldeamiento a matriz
- (object) – moldeamiento a objeto
gettype
string gettype( mixed var )
Devuelve el tipo de la variable PHP var.
Aviso |
Nunca use gettype() para probar si una variable es de cierto tipo, ya que la cadena devuelta puede ser sujeta a cambios en versiones futuras. Asimismo, es lenta, ya que involucra la comparación de cadenas.
En su lugar, usa las funciones is_*. |
Valores retornados
Los valores posible de la cadena devuelta son:
- «boolean» (a partir de PHP 4)
- «integer«
- «double» (por razones históricas, «double» se devuelve en caso de un valor tipo float, y no «float»)
- «string«
- «array«
- «object«
- «resource» (a partir de PHP 4)
- «NULL» (a partir de PHP 4)
- «user function» (sólo PHP 3, valor obsoleto)
- «unknown type»
Deberían utilizarse las siguientes funciones:
is_array() |
is_bool() |
is_float() |
is_int() |
is_null() |
is_numeric() |
is_object() |
is_resource() |
is_scalar() |
is_string() |
Devuelve true si la variable es del tipo especificado por la función, false en caso contrario.
..