W3docs

Arrays Indexados

Aprende a crear, leer, modificar y recorrer arrays indexados en PHP con claves numéricas automáticas.

Arrays Indexados en PHP

Un array indexado es el tipo más simple de array en PHP: una lista de valores donde cada elemento recibe automáticamente una clave numérica (su posición), comenzando en 0. Úsalo cuando tengas una colección ordenada — una lista de productos, las líneas de un archivo, las filas de un conjunto de resultados — y no necesites un nombre significativo para cada posición.

PHP tiene tres tipos de arrays en total: arrays indexados (claves numéricas, tratados aquí), arrays asociativos (claves de cadena con nombre) y arrays multidimensionales (arrays de arrays). Esta página explica cómo crear arrays indexados y cómo leer, modificar, agregar, contar e iterar sobre sus valores.

Crear un Array Indexado

Hay dos formas equivalentes de construir un array indexado. La sintaxis corta [] (PHP 5.4+) es la forma moderna y preferida; la función array() funciona en todas las versiones de PHP.

// Short syntax (recommended)
$cars = ["Volvo", "BMW", "Toyota"];

// Long syntax — identical result
$cars = array("Volvo", "BMW", "Toyota");

De cualquier forma, PHP asigna las claves por ti: "Volvo" obtiene el índice 0, "BMW" obtiene 1 y "Toyota" obtiene 2. Un array vacío es simplemente $cars = [];, listo para que se le agreguen elementos más adelante.

Acceder a los Valores

Lee un valor colocando su índice entre corchetes. Recuerda que el primer elemento está en el índice 0, por lo que el índice del último elemento siempre es uno menos que la cantidad de elementos.

$cars = ["Volvo", "BMW", "Toyota"];

echo $cars[0]; // Volvo
echo $cars[2]; // Toyota

Acceder a una clave que no existe (por ejemplo $cars[9]) devuelve null y emite un aviso Warning: Undefined array key — protégete con in_array() o isset() cuando no estés seguro de que una clave existe.

Modificar Valores

Asigna un nuevo valor a un índice existente para sobreescribirlo en su lugar:

$cars = ["Volvo", "BMW", "Toyota"];
$cars[0] = "Mercedes";

echo $cars[0]; // Mercedes

El array sigue teniendo tres elementos; solo cambió el valor en el índice 0.

Agregar Valores

Para añadir al final del array, asigna con la sintaxis de corchetes vacíos [] — PHP elige automáticamente el siguiente índice disponible. La función array_push() hace lo mismo y puede agregar varios valores a la vez:

$cars = ["Volvo", "BMW", "Toyota"];

$cars[] = "Audi";                 // index 3
array_push($cars, "Tesla", "Kia"); // indexes 4 and 5

print_r($cars);

Esto muestra:

Array
(
    [0] => Volvo
    [1] => BMW
    [2] => Toyota
    [3] => Audi
    [4] => Tesla
    [5] => Kia
)

Contar Elementos

Usa count() para saber cuántos elementos contiene un array — útil para mostrar totales o como límite superior de un bucle:

$cars = ["Volvo", "BMW", "Toyota"];
echo count($cars); // 3

Recorrer un Array Indexado

La forma más limpia de visitar cada valor es un bucle foreach, que funciona independientemente de cuántos elementos haya:

$cars = ["Volvo", "BMW", "Toyota"];

foreach ($cars as $car) {
    echo $car . PHP_EOL;
}

Salida:

Volvo
BMW
Toyota

Si también necesitas el índice de cada elemento, captura también la clave:

$cars = ["Volvo", "BMW", "Toyota"];

foreach ($cars as $index => $car) {
    echo "$index: $car" . PHP_EOL;
}
// 0: Volvo
// 1: BMW
// 2: Toyota

Un bucle for clásico es una alternativa cuando quieres control numérico explícito:

$cars = ["Volvo", "BMW", "Toyota"];

for ($i = 0; $i < count($cars); $i++) {
    echo $cars[$i] . PHP_EOL;
}

Errores Comunes

  • Las claves no siempre son secuenciales. Eliminar un elemento con unset($cars[1]) deja un "hueco" — las claves restantes permanecen como 0 y 2. Llama a array_values() para reindexar desde 0 si necesitas una lista limpia.
  • Los arrays indexados y asociativos son intercambiables. Agregar una clave de cadena ($cars["best"] = "Volvo") convierte el array en uno mixto/asociativo. Para mantener un array puramente indexado, solo añade o asigna claves enteras.
  • Ordenar reorganiza y a veces reasigna las claves. Funciones como sort() reindexa el array desde 0, que es generalmente lo que quieres para una lista indexada.

Conclusión

Los arrays indexados almacenan una lista ordenada de valores bajo claves numéricas automáticas que comienzan en 0. Se crean con [], se leen y sobreescriben valores por índice, se añaden elementos con $arr[] o array_push(), se miden con count() y se iteran con foreach. Cuando necesitas datos etiquetados en lugar de posicionales, recurre a un array asociativo.

Práctica

Práctica
¿Cuáles de las siguientes afirmaciones sobre los Arrays Indexados en PHP son verdaderas?
¿Cuáles de las siguientes afirmaciones sobre los Arrays Indexados en PHP son verdaderas?
Was this page helpful?