Arrays Indexados y Asociativos
Los arrays de PHP son la estructura de datos más flexible y poderosa del lenguaje. Un array PHP puede ser indexado (como un array normal: [0]=>"manzana", [1]=>"pera"), asociativo (como un diccionario: ["nombre"]=>"Ana", ["edad"]=>25), o incluso mezcla de ambos. No necesitas declarar el tamaño ni el tipo: el array crece dinámicamente. También pueden ser multidimensionales: arrays de arrays, perfectos para representar tablas o datos jerárquicos.
Funciones de PHP para arrays: • count($a) → cuántos elementos tiene. count([5, 6]) da 2 • array_push($a, x) → agrega x al final (igual que $a[] = x) • array_pop($a) → quita y devuelve el último • sort($a) → ordena de menor a mayor; rsort($a) de mayor a menor • in_array(x, $a) → true si x está en el array • array_key_exists(k, $a) → true si existe esa clave
• array_keys($a) → lista con todas las claves; array_values($a) → lista con todos los valores • array_merge($a, $b) → junta dos arrays en uno • array_unique($a) → quita los repetidos. array_unique([1, 1, 2]) deja los valores 1 y 2 • array_slice($a, 1, 2) → extrae un pedazo: 2 elementos desde la posición 1
<?php
// Array indexado
$frutas = ["manzana", "pera", "uva"];
// Acceso
echo $frutas[0]; // manzana
echo $frutas[count($frutas) - 1]; // uva
// Agregar
$frutas[] = "naranja"; // Al final
array_push($frutas, "limón"); // También al final
array_unshift($frutas, "sandía"); // Al inicio
// Eliminar
array_pop($frutas); // Elimina el último
array_shift($frutas); // Elimina el primero
unset($frutas[1]); // Por índice
// Array asociativo
$persona = [
"nombre" => "Ana",
"edad" => 25,
"email" => "ana@mail.com"
];
// Acceso
echo $persona["nombre"]; // Ana
// Verificar clave
if (isset($persona["email"])) echo "Tiene email";
if (array_key_exists("ciudad", $persona)) echo "Tiene ciudad";
// Array multidimensional
$usuarios = [
["id" => 1, "nombre" => "Ana"],
["id" => 2, "nombre" => "Bob"]
];
echo $usuarios[0]["nombre"]; // Ana
// Recorrer con foreach
foreach ($usuarios as $usuario) {
echo $usuario["nombre"] . "\n";
}
// Combinar
$claves = ["a", "b", "c"];
$valores = [1, 2, 3];
$combinado = array_combine($claves, $valores);
// ["a" => 1, "b" => 2, "c" => 3]
Practica esta lección
Resuelve los ejercicios del curso de PHP en la app, gratis y con corrección automática.
Empezar a practicar