
En PHP existen funciones específicas para comprobar y establecer el tipo de datos de una variable, gettype
obtiene el tipo de la variable que se le pasa como parámetro y devuelve una cadena de texto, que puede ser array
, boolean
, double
, integer
, object
, string
, null
, resource
o unknown type
.
También podemos comprobar si la variable es de un tipo concreto utilizando una de las siguientes funciones: is_array()
, is_bool()
, is_float()
, is_integer()
, is_null()
, is_numeric()
, is_object()
, is_resource()
, is_scalar()
e is_string()
. Devuelven true si la variable es del tipo indicado.
Análogamente, para establecer el tipo de una variable utilizamos la función settype
pasándole como parámetros la variable a convertir, y una de las siguientes cadenas: boolean
, integer
, float
, string
, array
, object
o null
. La función settype
devuelve true si la conversión se realizó correctamente, o false en caso contrario.
<?php
$a = $b = "3.1416"; // asignamos a las dos variables la misma cadena de texto
settype($b, "float"); // y cambiamos $b a tipo float
print "\$a vale $a y es de tipo ".gettype($a);
print "<br />";
print "\$b vale $b y es de tipo ".gettype($b);
?>
El resultado del código anterior es:
$a vale 3.1416 y es de tipo string
$b vale 3.1416 y es de tipo double
Si lo único que te interesa es saber si una variable está definida y no es null
, puedes usar la función
isset
. La función unset
destruye la variable o variables que se le pasa como parámetro.
<?php
$a = "3.1416";
if (isset($a)) // la variable $a está definida
unset($a); //ahora ya no está definida
?>