Tipos de Datos en PHP: Integer, Float, String y Booleanos
Clase 12 de 23 • Curso Básico de PHP: Instalación, Fundamentos y Operadores
Resumen
Un tipo de dato simplemente es una forma de diferenciar los datos que tenemos por medio de su tipo. Por ejemplo, si es un número, una letra, una palabra, etc.
¿Cuáles son los tipos de datos?
En programación podemos tener varios tipos de datos, pero los más conocidos son: numéricos, cadenas de caracteres, booleanos y sin valor
Numéricos
Representan a los datos de tipo numérico. Estos se pueden subdividir en:
- Integer: número sin decimales. Por ejemplo: 50; 70; 300.
- Float: número con decimales. Por ejemplo: 5.3; 4.7; 8.24.
- Double: número con decimales, similar a
float
, pero con capacidad de almacenar más decimales. Especialmente útil para variables o constantes que requieren valores con mayor precisión, por ejemplo el número PI que tiene muchos decimales.
Cadenas de caracteres
Quiere decir que almacenaremos texto. Tenemos dos grupos:
- Char: es un solo caracter que puede ser una letra, número o un símbolo como por ejemplo
#
,@
,%
,a
o5
. - String: es una cadena de más de un caracter como por ejemplo “¡Hola, Mundo!”
Boolean
Es decir que algo es verdadero (true
) o falso (false
).
Sin valor
Sirve para expresar que una variable no tiene valor (Null
) o que está no definido (Undefined
)
El tipado de PHP
PHP tiene tipado débil, es decir, no indicamos el tipo de variable al declararla, ya que puede deducir qué tipo de dato estás usando. Veamos un ejemplo:
<?php
$numerito = 0;
var_dump($numerito); // var_dump() lo usamos para ver información de la variable, en este caso de $numerito
echo "\n"; // Salto de línea
Y si ejecutamos en la terminal este archivo PHP podremos ver que nos indica que $numerito
es de tipo integer (int
) con un valor de 0
:
Conversión de tipos automática
PHP es capaz de convertir un tipo de dato a otro de forma automática según el contexto donde se emplee. Por ejemplo, si sumas un número con un string, PHP evaluará ambos como números:
<?php
$numerito = "23"; // String
$numerito = $numerito + 2 ; // Le sumamos al String un número
var_dump($numerito); // var_dump() nos inmprimirá información
echo "\n"; // Salto de línea
Si ejecutamos nuestro archivo PHP nos indica que $numerito
es de tipo integer (int
) con un valor de 25
, es decir, realiza la conversión internamente de String
a int
de la cadena "23"
y luego le suma el número 2
:
Malas prácticas
Veamos el siguiente caso:
<?php
$papas = "10 papas en el costal";
$cuantas_papas_hay = $papas + 5;
echo $cuantas_papas_hay;
¿Qué crees que hará PHP ante esta suma? Pues PHP tiene la capacidad de identificar el primer número que está dentro de la variable $papas
, extraerlo y realizar la suma. Sin embargo, nos mostrará un aviso previamente:

Ya que el número se encontraba al principio del String
, y no en el medio o al final, la operación fue posible. Esto es debido a que, durante la ejecución del programa, PHP encontró un número (10
) al inicio que le indicó que esa variable ($papas
) iba a ser convertida a integer. No obstante, al encontrar una cadena de caracteres ("...papas en el costal"
) después de dicho número es que lanza el mensaje de alerta que vemos previo al resultado de la suma (15
) diciendo que durante la operación encontró valores no numéricos ("A non-numeric value encountered..."
).
Conclusión
PHP es muy permisivo, pero esto nos puede llevar a malas prácticas. Por ello es recomendable monitorear los tipos de datos de tu programa.
Contribución creada por: Martín Álvarez con el aporte de Gregory Hernandez Abad