Los arrays son como cajas con múltiples compartimentos. En lugar de tener 10 variables diferentes, tienes 1 array con 10 valores. Son esenciales para trabajar con colecciones de datos.
Un array indexado es una lista donde cada elemento tiene una posición (índice) que comienza en 0.
<?php
// Forma larga: array()
$frutas = array("Manzana", "Banana", "Naranja");
// Forma corta: [] (PHP 5.4+) - RECOMENDADO
$colores = ["Rojo", "Verde", "Azul"];
// Acceder a elementos
echo $frutas[0]; // Manzana
echo $frutas[1]; // Banana
echo $frutas[2]; // Naranja
?>
¡Importante! Los índices comienzan en 0, no en 1.
Puedes agregar elementos a un array después de crearlo.
<?php
$numeros = [1, 2, 3];
// Agregar al final (sin especificar índice)
$numeros[] = 4;
$numeros[] = 5;
// Ahora: [1, 2, 3, 4, 5]
// Agregar en una posición específica
$numeros[10] = 100;
// Ahora: [1, 2, 3, 4, 5, null, null, null, null, null, 100]
// Modificar un elemento existente
$numeros[0] = 999;
// Ahora el primer elemento es 999
?>
Usa count() para saber cuántos elementos tiene un array.
<?php
$frutas = ["Manzana", "Banana", "Naranja"];
echo count($frutas); // 3
// Útil en bucles
for ($i = 0; $i < count($frutas); $i++) {
echo $frutas[$i] . "<br>";
}
?>
foreach es la forma más fácil y segura de recorrer un array.
<?php
$frutas = ["Manzana", "Banana", "Naranja"];
// Forma básica
foreach ($frutas as $fruta) {
echo $fruta . "<br>";
}
// Con índice y valor
foreach ($frutas as $indice => $fruta) {
echo $indice . ": " . $fruta . "<br>";
}
// Resultado:
// 0: Manzana
// 1: Banana
// 2: Naranja
?>
En lugar de usar números como índices, usas claves (nombres) personalizadas.
<?php
// Array asociativo
$persona = [
"nombre" => "Juan",
"edad" => 25,
"ciudad" => "Madrid",
"profesion" => "Desarrollador"
];
// Acceder usando la clave
echo $persona["nombre"]; // Juan
echo $persona["edad"]; // 25
// Modificar
$persona["edad"] = 26;
// Agregar nueva clave
$persona["email"] = "juan@ejemplo.com";
?>
Con foreach también puedes recorrer arrays asociativos fácilmente.
<?php
$persona = [
"nombre" => "Ana",
"edad" => 28,
"ciudad" => "Barcelona"
];
// Recorrer con clave y valor
foreach ($persona as $clave => $valor) {
echo $clave . ": " . $valor . "<br>";
}
// Resultado:
// nombre: Ana
// edad: 28
// ciudad: Barcelona
?>
PHP tiene muchas funciones predefinidas para trabajar con arrays.
Agrega elementos al final del array.
$numeros = [1, 2, 3];
array_push($numeros, 4, 5);
// Ahora: [1, 2, 3, 4, 5]
Elimina el último elemento del array.
$numeros = [1, 2, 3];
array_pop($numeros);
// Ahora: [1, 2]
Verifica si un valor existe en el array.
$frutas = ["Manzana", "Banana"];
if (in_array("Manzana", $frutas)) {
echo "Existe";
}
Verifica si una clave existe en un array asociativo.
$persona = ["nombre" => "Juan"];
if (array_key_exists("nombre", $persona)) {
echo "La clave existe";
}
Combina dos arrays en uno.
$arr1 = [1, 2];
$arr2 = [3, 4];
$resultado = array_merge($arr1, $arr2);
// [1, 2, 3, 4]
Ordena un array (ascendente o descendente).
$numeros = [3, 1, 4, 1, 5];
sort($numeros);
// [1, 1, 3, 4, 5]
rsort($numeros);
// [5, 4, 3, 1, 1]
Un array dentro de otro array. Perfecto para tablas de datos.
<?php
// Array de arrays
$estudiantes = [
["nombre" => "Juan", "edad" => 20],
["nombre" => "Ana", "edad" => 22],
["nombre" => "Pedro", "edad" => 21]
];
// Acceder a elementos
echo $estudiantes[0] ["nombre"]; // Juan
echo $estudiantes[1] ["edad"]; // 22
// Recorrer
foreach ($estudiantes as $estudiante) {
echo $estudiante["nombre"] . " - " . $estudiante["edad"] . "<br>";
}
?>
Usa empty() o count() para verificar.
<?php
$frutas = [];
// Forma 1: empty()
if (empty($frutas)) {
echo "El array está vacío";
}
// Forma 2: count()
if (count($frutas) == 0) {
echo "El array está vacío";
}
// Forma 3: isset()
if (!isset($frutas[0])) {
echo "No hay primer elemento";
}
?>
Crea un archivo arrays.php con un servidor local:
count() para mostrar cuántos elementos hay.foreach e imprime cada elemento.foreach mostrando clave y valor.array_push() para agregar 2 elementos más al array de comidas.in_array() para verificar si "Pizza" existe en tu array de comidas.sort(), y recórrelo para mostrar los elementos ordenados.