Tipos de datos PHP
Tipos de Datos en PHP
Comprender los Tipos de Datos en PHP
En nuestra exploración inicial de PHP, ya hemos encontrado el concepto de almacenar información en variables. Por ejemplo, podríamos almacenar un nombre como texto y una puntuación como un número. Estos fragmentos de información pertenecen a diferentes categorías llamadas tipos de datos. PHP, como la mayoría de los lenguajes de programación, proporciona un conjunto de tipos de datos integrados para representar varios tipos de datos. Hay diez tipos de datos fundamentales en PHP, que podemos clasificar ampliamente en tipos escalares, compuestos y especiales. Esta lección se centrará principalmente en los tipos de datos más utilizados.
Analicemos rápidamente la lista de tipos de datos de PHP:
- String
- Integer
- Float
- Boolean
- Resource
- Iterable
- Callable
- Object
- Array
- NULL
Nos centraremos en los primeros cuatro, conocidos como tipos de datos escalares, que representan valores únicos. También cubriremos el tipo NULL. Más adelante, profundizarás en los tipos de datos compuestos como arrays y objetos, y mencionaremos brevemente los tipos especiales menos comunes.
Tipos de Datos Escalares en Detalle
Desglosemos esos tipos de datos escalares fundamentales:
- Cadena: Representa datos textuales. Piense en nombres, direcciones, o cualquier secuencia de caracteres. Por ejemplo,
"¡Hola, mundo!"es una cadena.
- Entero: Representa números enteros, sin ningún componente decimal. Ejemplos incluyen
-5,0, y100.
- Float: Representa números que sí tienen un componente decimal. Estos también se conocen como números de punto flotante. Ejemplos incluyen
3.14,-2.7, y0.5.
- Booleano: Representa valores de verdad. Un booleano solo puede tener uno de dos valores:
trueofalse. Esto es increíblemente útil para controlar el flujo del programa (por ejemplo, verificar si un usuario ha iniciado sesión).
Finalmente, tenemos NULL, que representa la ausencia de un valor.
Explorando Tipos de Datos de Forma Interactiva
Para comprender cómo funcionan estos tipos de datos, utilicemos el modo interactivo de PHP. Esta es una forma conveniente de probar líneas individuales de código PHP y ver los resultados de inmediato, sin necesidad de crear un archivo PHP completo.
Para entrar en modo interactivo, simplemente escribe php -a en tu terminal o línea de comandos. ¡Ahora estás listo para experimentar!
Probemos un ejemplo sencillo:
php > $username = "matt";
php > print gettype($username);
string
En este ejemplo, asignamos la cadena "matt" a una variable llamada $username. Luego, usamos la función gettype() para determinar el tipo de dato de la variable. Como puedes ver, identifica correctamente $username como una string. Este enfoque interactivo será invaluable a medida que continuemos explorando PHP.
Tipos de Datos de PHP: Números y Booleanos
Revisitemos el concepto de tipos de datos utilizando un ejemplo sencillo. Asignaremos el valor de cadena "matt" a una variable llamada $username. Luego, usaremos la función integrada gettype() de PHP para determinar y mostrar el tipo de dato de la variable. Esto confirmará que $username contiene un valor de cadena.
Si estás familiarizado con lenguajes de programación como Java o C#, probablemente estés acostumbrado a declarar explícitamente el tipo de dato de una variable. PHP lo maneja de manera diferente. Es un lenguaje débilmente tipado, lo que significa que una sola variable puede contener valores de varios tipos de datos con el tiempo. PHP determina automáticamente el tipo de dato en función del valor que se le asigna.
Si bien es posible definir explícitamente los tipos de datos en PHP (exploraremos esto con más detalle más adelante, cuando comencemos a escribir funciones), por ahora, nos basaremos en la inferencia automática de tipos de PHP para nuestras asignaciones de variables simples.
Veamos los tipos de datos numéricos. Puedes asignar números enteros (como 21) o números con puntos decimales (como 9.99) a variables, y PHP los interpretará correctamente.
<?php
$age = 21;
echo gettype($age); // Output: integer
$price = 9.99;
echo gettype($price); // Output: double
?>
Observa que $age se reconoce como un integer, y $price se reconoce como un double. Es importante comprender que, aunque gettype() devuelve "double" para números de coma flotante, PHP solo tiene un tipo de datos de coma flotante subyacente: float. El valor de retorno "double" de gettype() es un artefacto histórico de los orígenes de PHP como un lenguaje más antiguo, que hace referencia al formato de coma flotante de doble precisión utilizado internamente. No te preocupes por la distinción; todos los números de coma flotante en PHP son fundamentalmente floats.
Ahora, examinemos el tipo de dato bool, que representa valores verdadero/falso.
<?php
$isDutyFree = true;
echo gettype($isDutyFree); // Output: boolean
echo $isDutyFree; // Output: 1
?>
Cuando usas gettype() en la variable $isDutyFree, verás "boolean" mostrado. PHP usa el alias "boolean" para el tipo de dato bool, y aunque son en gran medida intercambiables, es una buena práctica usar consistentemente bool en tu código. Lo haré en esta guía.
Una observación curiosa surge cuando intentas imprimir el valor de $isDutyFree. En lugar de "true", ves el número 1. Esto no es un error; es cómo PHP representa los valores booleanos al mostrarlos. true es equivalente a 1, y false es equivalente a 0.
Mostrar Valores Booleanos e Introducir NULL
Cuando se utiliza la función print en PHP, el motor convierte automáticamente cualquier valor que proporcione en una cadena de texto. Los valores booleanos se manejan de manera específica durante esta conversión: true se convierte en la cadena "1", mientras que false se transforma en una cadena vacía (representada como ""). Esta conversión automática a veces puede oscurecer el valor booleano real.
Para determinar con precisión el tipo de datos y el valor de una variable booleana, utilice la función var_dump(). Esta función proporciona información detallada sobre una variable, incluido su tipo y su valor. Es una herramienta valiosa para aprender PHP y para identificar problemas en su código.
REGLAS CRÍTICAS
Este código mostrará: bool(true), confirmando que $isDutyFree es, de hecho, un booleano y su valor es true.
Comprensión del Tipo de Dato NULL
PHP también incluye un tipo de dato especial llamado NULL. Representa la ausencia de un valor. Puede usar NULL o null (la mayúscula no importa) para denotar este tipo. Una variable puede considerarse NULL en algunas situaciones.
En primer lugar, si una variable aún no ha sido asignada, intentar inspeccionarla con var_dump() generará una advertencia que indica que la variable no está definida, seguida del valor NULL.
En segundo lugar, a una variable se le asigna el valor NULL cuando la estableces explícitamente a NULL:
<?php
$firstName = NULL;
var_dump($firstName);
?>
Esto producirá: NULL.
Es importante distinguir entre una variable que no ha sido asignada a un valor (lo que resulta en una advertencia de var_dump()) y una variable que ha sido asignada explícitamente el valor NULL. Ambas representan, en última instancia, una ausencia de un valor significativo, pero la forma en que PHP las maneja en términos de advertencias difiere. Asignar a una variable el valor NULL es perfectamente válido y funciona de manera similar a asignarle cualquier otro tipo de dato.
Comprensión de los Tipos de Datos y los Valores Nulos en PHP
En PHP, cada dato con el que trabajas está asociado a un tipo de dato. Estos tipos dictan el tipo de operaciones que puedes realizar y cómo PHP interpreta los datos. Si bien ya estamos familiarizados con tipos comunes como cadenas, enteros y booleanos, es crucial comprender cómo PHP maneja situaciones en las que una variable no contiene un valor significativo. Esto a menudo se manifiesta como NULL.
Una variable se convierte en NULL cuando se borra explícitamente. Puedes lograr esto utilizando la función integrada unset(). Cuando una variable es NULL, esencialmente se comporta como si nunca hubiera existido. Intentar mostrar una variable NULL dará como resultado una advertencia que indica una variable indefinida.
En aplicaciones más complejas, es probable que te encuentres con valores NULL. Por ejemplo, una conexión de base de datos podría fallar y ser asignada a NULL, o una función podría esperar retornar un objeto, pero ese objeto no existe. Exploraremos cómo manejar estas situaciones en secciones posteriores cuando profundicemos en la programación orientada a objetos e interacciones con la base de datos. Contabilizar correctamente los valores NULL es una habilidad vital para escribir código PHP robusto.
Verificación de Tipos de Datos de Variables
PHP proporciona un conjunto de funciones que le permiten determinar el tipo de dato de una variable. Estas funciones devuelven true o false, dependiendo de si la variable coincide con el tipo especificado. Esto es extremadamente útil para validar datos o asegurar que está realizando operaciones que son apropiadas para el tipo de la variable.
Algunas de las funciones de comprobación de tipo más utilizadas incluyen: is_string(), is_int(), is_float(), is_bool(), y is_null(). Veamos algunos ejemplos:
En el ejemplo anterior, $gpa contiene un número de punto flotante (un número con decimales). Por consiguiente, solo is_float() devuelve true. Por el contrario, $middleName contiene explícitamente el valor NULL, que es identificado correctamente por is_null(). Estas funciones proporcionan una forma fiable de verificar tipos de datos y escribir código más seguro y predecible.