Variables y Tipos de Datos
PHP es de tipado dinámico: no declaras el tipo de una variable, PHP lo infiere del valor que le asignas. Una misma variable puede ser string en un momento e integer en el siguiente. Todas las variables empiezan con $ (dólar), lo que las hace visualmente distinguibles del resto del código.
PHP hace conversión automática entre tipos: si sumas "5" (string) + 3 (int), PHP convierte el string a número y retorna 8. Esto es conveniente pero puede ser fuente de bugs sutiles.
PHP 8 introdujo mejoras importantes para la robustez del código. Puedes declarar tipos en los parámetros y retorno de funciones: function suma(int $a, int $b): int {}. Los tipos de unión permiten múltiples tipos: string|int $id. Nullable types con ? permiten null: ?string $email. Enums (PHP 8.1) permiten definir conjuntos fijos de valores.
El operador nullsafe (?->) evita errores al encadenar métodos en objetos que pueden ser null, similar al ?. de C#.
<?php
// Tipos básicos
$entero = 42;
$flotante = 3.14;
$string = "Hola";
$booleano = true;
$nulo = null;
// gettype() - obtener tipo
echo gettype($entero); // integer
echo gettype($string); // string
echo gettype($booleano); // boolean
// var_dump() - tipo + valor (para debug)
var_dump($entero); // int(42)
var_dump($string); // string(4) "Hola"
var_dump($nulo); // NULL
// Conversión de tipos
$numero = (int)"42abc"; // 42
$texto = (string)3.14; // "3.14"
$bool = (bool)0; // false
$float = (float)"3.99cm"; // 3.99
// Comparación estricta vs débil
var_dump(0 == false); // true (débil)
var_dump(0 === false); // false (estricta)
var_dump("1" == 1); // true (débil)
var_dump("1" === 1); // false (estricta)
// Constantes
define("PI", 3.14159);
const MAX = 100;
echo PI; // 3.14159
echo PHP_VERSION; // versión de PHP
Practica esta lección
Resuelve los ejercicios del curso de PHP en la app, gratis y con corrección automática.
Empezar a practicar