Inicio > Cursos > PHP > Variables y Tipos de Datos
PHPFundamentos de PHPLección 2 de 15

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
Consejo⚠️ Siempre usa === (triple igual) para comparar en PHP. == puede dar resultados inesperados: "0" == false es true, pero "0" === false es false.
← ¿Qué es PHP?Strings y Manipulación de Texto →

Practica esta lección

Resuelve los ejercicios del curso de PHP en la app, gratis y con corrección automática.

Empezar a practicar