array()
La función array() en PHP crea un array. Aprende los tres tipos, la sintaxis corta [], y las operaciones más comunes con ejemplos ejecutables.
Introducción
La construcción de lenguaje array() crea un array de PHP — un mapa ordenado que empareja claves con valores. A pesar del nombre "array", un array de PHP es mucho más flexible que un array de tamaño fijo en lenguajes como C o Java: un solo array puede contener tipos de valores mixtos, crecer o reducirse en tiempo de ejecución, y usar enteros o cadenas como claves.
Esta página explica cómo funciona array(), los tres tipos de arrays que puedes crear con él, la sintaxis corta moderna [], y las operaciones cotidianas (contar, añadir, iterar) que usarás con más frecuencia. Cada ejemplo es ejecutable.
Sintaxis básica
array(value1, value2, value3, ...)
// or, since PHP 5.4, the short syntax:
[value1, value2, value3, ...]También puedes asignar claves de forma explícita con la flecha key => value:
array(key1 => value1, key2 => value2, ...)Ambas formas devuelven un valor de tipo array. Las dos sintaxis son intercambiables; la forma corta [] es la preferida en el código moderno.
Crear un array
Cuando no se proporcionan claves, PHP asigna claves enteras secuenciales comenzando desde 0. Así, $fruits[0] es "apple", $fruits[1] es "banana" y $fruits[2] es "orange". Esto es un array indexado.
Array
(
[0] => apple
[1] => banana
[2] => orange
)Los tres tipos de arrays
PHP usa una sola estructura de datos, array, para tres formas conceptuales:
Arrays indexados
Las claves son enteros asignados automáticamente. Úsalos para listas ordenadas donde solo importa la posición.
<?php
$colors = ["red", "green", "blue"];
echo $colors[1]; // greenConsulta arrays indexados para más información.
Arrays asociativos
Tú eliges claves string para etiquetar cada valor, lo que es ideal para registros y búsquedas.
<?php
$user = [
"name" => "Ada",
"email" => "[email protected]",
"age" => 36,
];
echo $user["email"]; // [email protected]Consulta arrays asociativos para más información.
Arrays multidimensionales
Un valor puede ser a su vez un array, lo que permite modelar tablas y datos anidados.
<?php
$matrix = [
[1, 2, 3],
[4, 5, 6],
];
echo $matrix[1][2]; // 6Consulta arrays multidimensionales para más información.
Contar elementos
La función count() devuelve cuántos elementos de nivel superior contiene un array. Se combina de forma natural con array():
<?php
$fruits = array("apple", "banana", "orange");
echo count($fruits); // 3Añadir elementos
Para agregar un valor al final, usa la sintaxis [] — es más corta que llamar a array_push() y más clara para un solo elemento:
<?php
$fruits = ["apple", "banana"];
$fruits[] = "cherry"; // appended with the next integer key (2)
$fruits["fav"] = "mango"; // added with an explicit string key
print_r($fruits);Array
(
[0] => apple
[1] => banana
[2] => cherry
[fav] => mango
)Esta mezcla de claves enteras y string en un mismo array es perfectamente válida — es lo que convierte a los arrays de PHP en "mapas ordenados".
Recorrer un array
foreach es la forma idiomática de recorrer cada par clave/valor, y funciona con los tres tipos de arrays:
<?php
$user = ["name" => "Ada", "age" => 36];
foreach ($user as $key => $value) {
echo "$key: $value\n";
}name: Ada
age: 36Consulta el bucle foreach para la referencia completa.
Errores comunes
- Las claves duplicadas se sobreescriben.
[1 => "a", 1 => "b"]conserva solo"b"— gana el último valor asignado a una clave. - Las claves string que parecen enteros se convierten en enteros.
["7" => "x"]se almacena bajo la clave entera7, por lo que$a[7]y$a["7"]acceden al mismo elemento. - Acceder a una clave inexistente emite una advertencia y devuelve
null. Protégete conarray_key_exists()oisset()primero. - El conteo solo cuenta el nivel superior.
count()en un array multidimensional devuelve el número de elementos externos, no el recuento total de hojas.
Buenas prácticas
- Prefiere la sintaxis corta
[]sobrearray()en código nuevo — es la convención moderna. - Usa claves string significativas para datos asociativos, de modo que el código se lea como el dominio que modela.
- Agrega elementos con
$arr[] = ...en lugar dearray_push()cuando añadas un solo valor. - Ordena con la función adecuada para tu tipo de clave — consulta ordenar arrays para
sort(),asort(),ksort()y similares.
Conclusión
La construcción array() (y su abreviatura []) es la base del manejo de datos en PHP. Dado que un mismo tipo de array funciona como lista indexada, mapa asociativo y árbol anidable, dominar la creación, el conteo, la adición y la iteración desbloquea la mayor parte del conjunto de herramientas de manipulación de datos del lenguaje.