Un array de PHP es un mapa ordenado que asocia claves con valores y puede funcionar como lista o diccionario.
En el desarrollo web real, casi nunca trabajas con datos sueltos. Trabajas con listas de productos, colecciones de usuarios o filas de una base de datos. Para todo esto, usamos Arrays.
La sintaxis corta [] es la forma habitual de declarar arrays. La sintaxis array() sigue siendo válida, pero es menos frecuente en código moderno.
Arrays indexados (listas)
Son los arrays de toda la vida. Una lista de elementos donde cada uno tiene una posición numérica (índice), empezando siempre por el 0.
// Definición
$tecnologias = ['PHP', 'Laravel', 'Docker', 'React'];
// Acceso
echo $tecnologias[0]; // Salida: PHP
echo $tecnologias[2]; // Salida: Docker
// Añadir un elemento al final
$tecnologias[] = 'Linux';PHP se encarga de asignar los números automáticamente:
- 0 => ‘PHP’
- 1 => ‘Laravel’
- …
¿Cuándo usarlos? Cuando el orden importa y los elementos son del mismo tipo (ej: una lista de precios, una lista de nombres).
Arrays asociativos (diccionarios / mapas)
Aquí es donde PHP brilla. En lugar de usar números automáticos para acceder a los datos, tú defines Claves (Keys) con nombres significativos.
Es el equivalente a un Objeto JSON o un Diccionario en Python.
$producto = [
'nombre' => 'Monitor 4K',
'precio' => 299.99,
'stock' => true,
'marca' => 'Dell'
];
// Acceso (mucho más legible)
echo "El producto {$producto['nombre']} cuesta {$producto['precio']}€";Fíjate en la flecha =>. Significa “Esta clave apunta a este valor”.
¿Cuándo usarlos? Cuando quieres describir una entidad con propiedades (un usuario, un producto, una configuración).
Arrays multidimensionales (inception)
Un array puede contener… ¡otros arrays! Esto permite manejar estructuras de datos más complejas.
Imagina una lista de usuarios (Indexado) donde cada usuario tiene sus datos (Asociativo).
$usuarios = [
[
'nombre' => 'Luis',
'rol' => 'Admin'
],
[
'nombre' => 'Ana',
'rol' => 'Editor'
]
];
// Acceder al nombre del segundo usuario
echo $usuarios[1]['nombre']; // Salida: AnaManipulación moderna (spread operator ...)
Desde PHP 7.4 podemos desempaquetar arrays con claves numéricas usando ...; PHP 8.1 añadió soporte para claves de tipo string. Es una alternativa cómoda a array_merge en muchos casos.
$frutas = ['Manzana', 'Pera'];
$verduras = ['Lechuga', 'Tomate'];
// Fusionar en uno nuevo
$cesta = [...$frutas, ...$verduras, 'Pan'];
// Resultado: ['Manzana', 'Pera', 'Lechuga', 'Tomate', 'Pan']Es rápido, visual y muy potente.
¿Cómo veo lo que hay dentro? (debugging)
Si intentas hacer echo $array, PHP te gritará (o simplemente imprimirá la palabra “Array”).
Para ver el contenido de un array mientras desarrollas, usamos:
print_r($array): Muestra una estructura básica.var_dump($array): Muestra estructura + tipos de datos + longitud (El más completo).
Si ves el resultado en el navegador y se ve todo junto y feo, rodéalo de etiquetas <pre>:
echo "<pre>";
var_dump($usuarios);
echo "</pre>";Esto formatea el output para que sea legible.