Tipos de datos

1. Boleanos (boolean)

Es el mas simple y solo puede contener verdadero (True) o falso (False).

$x = True;

Para convertir un valor boleano se usa bool, sin embargo en la mayoría de casos es innecesario ya que el valor es convertido automaticamente. Por ejemplo el entero 0, flotante 0.0, cadena vacia '' o '0', una matriz sin elementos, un objeto sin parámetros y NULL son considerados falsos. Todos los demás verdaderos.

Funciones boleanas
FunciónDescripción
is_bool()Comprueba si una variable es de tipo booleano.

El entero -1 es considerado verdadero como cualquier otro valor diferente de cero.

2. Enteros (integer)

Es un numero entero positivo o negativo. Si la plataforma es de 32 bit el valor máximo es 2,147'483,647 y si es 64 bits el máximo es 9'223,372"036,854'775,807. Si PHP encuentra un numero fuera de limites del entero se interpreta como flotante.

$x = 2147483647; //int (2147483647)
$y = $x + 1;     //float (2147483648)

Puedes consultar las funciones para números aqui

3. Flotante (float)

También llamado double. Su precisión es de aproximadamente 14 decimales.

$x = 1.234; 

Funciones numéricas
FunciónDescripción
is_int() o is_integer() o is_long()Comprueba si el tipo de una variable es integer.
is_float() o is_double()Comprueba si el tipo de una variable es float.
is_numeric()Comprueba si una variable es un número o un string numérico.
intval()Obtiene el valor entero de una variable.
floatval() o doubleval()Obtener el valor flotante de una variable.

4. Cadenas (string)

Es una serie de caracteres donde cada uno es representado por un byte. Es decir solo se acepcta maximo 256 caracteres.

$x = 'Hola como estas';
echo 'Arnold una vez dijo: "I\'ll be back"';
echo "Esto se expandirá: \n una nueva línea";
echo "Hola $nombre como estas";

Hay una serie de cadenas que puedes usar:

Códigos de control
SecuenciaDescripción
\nAvance de linea (LF)
\rRetorno de carro (CR)
\tTabulado horizontal(HT)
\vTabulado vertical(VT) desde PHP 5.2.5
\eEscape (ESC) desde PHP 5.4.4
\fAvance pagina (FF) desde PHP 5.2.5
\\Barra invertida
\$Signo dolar
\"Comilla doble
\'Comilla simple

Puedes consultar las funciones para cadenas aqui

Funciones de cadena
FunciónDescripción
is_string()Comprueba si una variable es de tipo cadena.
strval()Obtiene el valor de cadena de una variable.

4.1 Cadenas (string)

Otra manera de delimitar una cadena es con HEREDOC.

<<<EOT
	...
EOT;

la linea EOT final no debe usar sangrada.

5. Null

Representa una variable sin valor. Esto puede ocurrir porque se asigno NULL a la variable, no se asigna ningún valor aun o la variable fue destruida con unset().

$a = null;

Es insensible a mayúsculas / minúsculas. Ver también las funciones is_null() y unset().

6. Fechas

Realmente PHP no tiene formato tipo fecha, pero se pueden usar algunas funciones de fecha que se clasifican en: que formatean, que devuelven y que validan fechas.

La marca de tiempo Unix mide el tiempo como el numero de segundos trascurridos desde la época Unix (01-01-1970 en GMT).

Funciones de fecha
FunciónDescripción
Date_create()Devuelve un nuevo objeto DateTime.
Date_add()Añade una cantidad de días, meses, años, horas, minutos y segundos a un objeto DateTime.
Date_sub()Sustrae una cantidad de días, meses, años, horas, minutos y segundos de un objeto DateTime.
Date()Fecha de hoy. Dar formato a la fecha/hora local.
Time()Devuelve la fecha Unix actual.
Strtotime('now')Convierte texto en Unix
Getdate(time())Fecha de hoy
mktime()Obtener la marca de tiempo Unix de una fecha.
localtime()Obtiene fecha y hora local

Puedes consultar las funciones para fechas aquí

7. Otras bases numéricas

La base predeterminada en PHP es la decimal (base 19), pero se puede usar hexadecimal (0x) u octal (0).

Funciones de cambio de base
FunciónDescripción
BinDec()binario (base 2) a decimal (base 10)
DecBin()decimal (base 10) a binario (base 2)
OctDec()octal (base 8) a decimal (base 10)
DecOct()decimal (base 10) a octal (base 8)
HexDec()hexadecimal (base 16) a decimal (base 10)
DecHex()decimal (base 10) a hexadecimal (base 16)
baseconvert()Se requiere 3 parametros: numero,base origen,base destino

$num = 20;
for ($n=2;$n<=36;$n++){
   $x = baseconvert($num, 10, $n);
   echo "$num en base $n es $x \n";
}