Manipulación de arrays en PHP
Bienvenido a una nueva lección de nuestro curso básico de PHP 8. Hoy nos metemos con los arrays, una herramienta esencial para manejar colecciones de datos de forma eficiente. Si ya manejas atributos estáticos y excepciones, esto te va a encantar porque los arrays son como cajas mágicas para guardar y jugar con información. Todo va a ser claro, práctico y con ejemplos que te van a flipar. ¡Empecemos!
¿Qué son los arrays?
Un array (o arreglo) es una estructura que te permite almacenar varios valores bajo una sola variable. Pueden contener cualquier tipo de dato: números, cadenas, objetos, incluso otros arrays. Son súper flexibles y útiles para organizar datos relacionados, como una lista de nombres o las características de un producto.
En PHP, hay tres tipos principales:
- Numéricos: Usan índices (0, 1, 2…) para acceder a los valores.
- Asociativos: Usan claves (como «nombre» o «precio») en lugar de números.
- Multidimensionales: Arrays dentro de arrays.
La receta básica para crear un array es esta:
$array1 = array("valor1", "valor2"); // Forma clásica $array2 = ["valor1", "valor2"]; // Forma moderna (recomendada)
Probando arrays en acción
¡Manos a la obra! Crea un archivo arrays.php
en curso_php8
(dentro de C:\xampp\htdocs
) y prueba esto:
Ejemplo 1: Creación y acceso a arrays
<?php // Array numérico $numeros = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; // Array asociativo $celular = [ "Marca" => "Samsung", "Modelo" => "Galaxy S23", "Precio" => 3500, "Características" => "8GB, 256GB almacenamiento, fotos nocturnas" ]; // Array indexado $diasSemana = ["Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado", "Domingo"]; // Acceder a elementos echo "Número: " . $numeros[7] . "<br>"; echo "Día: " . $diasSemana[2] . "<br>"; echo "Marca del celular: " . $celular["Marca"] . "<br>"; ?>
Abre http://localhost/curso_php8/arrays.php
. Verás:
Número: 7 Día: Miércoles Marca del celular: Samsung
¿Qué pasó?
- Creamos un array numérico (
$numeros
), uno indexado ($diasSemana
) y uno asociativo ($celular
). - Accedimos a elementos usando índices (
[7]
) o claves (["Marca"]
).
Ejemplo 2: Recorrer arrays
<?php $numeros = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; $diasSemana = ["Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado", "Domingo"]; $celular = [ "Marca" => "Samsung", "Modelo" => "Galaxy S23", "Precio" => 3500 ]; // Usando for echo "Números con for:<br>"; for ($i = 0; $i < count($numeros); $i++) { echo $numeros[$i] . " "; } echo "<br><br>"; // Usando foreach echo "Días con foreach:<br>"; foreach ($diasSemana as $dia) { echo $dia . " "; } echo "<br><br>"; // Foreach con clave-valor echo "Celular con foreach:<br>"; foreach ($celular as $clave => $valor) { echo "$clave: $valor<br>"; } ?>
Resultado:
Números con for: 0 1 2 3 4 5 6 7 8 9 Días con foreach: Lunes Martes Miércoles Jueves Viernes Sábado Domingo Celular con foreach: Marca: Samsung Modelo: Galaxy S23 Precio: 3500
¿Qué pasó?
- Usamos
for
para recorrer$numeros
con índices. foreach
simplificó el recorrido de$diasSemana
.- Con
$celular
, usamosforeach
con claves para ver tanto el nombre del atributo como su valor.
Ejemplo práctico
Ejemplo: Manipulación de arrays
<?php $frutas = ["Manzana", "Naranja", "Plátano"]; // Agregar elemento $frutas[] = "Uva"; echo "Frutas después de agregar:<br>"; print_r($frutas); echo "<br><br>"; // Modificar elemento $frutas[1] = "Mango"; echo "Frutas después de modificar:<br>"; print_r($frutas); echo "<br><br>"; // Eliminar elemento unset($frutas[2]); echo "Frutas después de eliminar:<br>"; print_r($frutas); ?>
Resultado:
Frutas después de agregar: Array ( [0] => Manzana [1] => Naranja [2] => Plátano [3] => Uva ) Frutas después de modificar: Array ( [0] => Manzana [1] => Mango [2] => Plátano [3] => Uva ) Frutas después de eliminar: Array ( [0] => Manzana [1] => Mango [3] => Uva )
¿Qué pasó?
- Añadimos «Uva» con
$frutas[]
. - Cambiamos «Naranja» por «Mango» usando el índice.
- Eliminamos «Plátano» con
unset()
.
Ejercicios para practicar
¡Tu turno de rockearlo! Ve a curso_php8
y prueba estos retos:
- Suma de números
Creasuma_numeros.php
:
<?php $numeros = [3, 7, 1, 9, 4]; $suma = 0; foreach ($numeros as $num) { $suma += $num; } echo "Suma total: $suma<br>"; ?>
- Máximo y mínimo
Creamax_min_numeros.php
:
<?php $numeros = [3, 7, 1, 9, 4]; $maximo = max($numeros); $minimo = min($numeros); echo "Máximo: $maximo<br>"; echo "Mínimo: $minimo<br>"; ?>
- Pares e impares
Creapares_impares.php
:
<?php $numeros = [3, 7, 1, 9, 4, 6, 8]; $pares = []; $impares = []; foreach ($numeros as $num) { if ($num % 2 == 0) { $pares[] = $num; } else { $impares[] = $num; } } echo "Pares: "; print_r($pares); echo "<br>"; echo "Impares: "; print_r($impares); echo "<br>"; ?>
Ejecuta en localhost/curso_php8/
y juega con los valores. Por ejemplo, pares_impares.php
mostrará:
Pares: Array ( [0] => 4 [1] => 6 [2] => 8 ) Impares: Array ( [0] => 3 [1] => 7 [2] => 1 [3] => 9 )
Consejos para no enredarte
- Usa
foreach
para simplicidad: Es más legible quefor
para recorrer arrays. - Cuidado con
unset
: Elimina elementos, pero no reindexa automáticamente los índices numéricos. - Valida datos: Antes de operar con arrays asociativos, verifica que las claves existan con
isset()
. - Funciones útiles: Explora
array_push()
,array_pop()
,array_merge()
y más para manipular arrays.
¡A por más datos!
¡Gran trabajo! Ahora los arrays son tu arma para organizar y manipular datos como un experto. En la próxima lección, veremos gestión de errores para reforzar el control de tu código. Si algo no te queda claro, déjame un comentario.
Lo que aprendiste hoy:
- Qué son: Estructuras para guardar múltiples valores, numéricos o asociativos.
- Crear y acceder: Usaste
[]
y claves para trabajar con datos. - Recorrer: Dominaste
for
yforeach
como crack. - Manipular: Agregaste, editaste y eliminaste elementos como pro.
- Tip del pro: Usa
foreach
para recorrer yprint_r()
para inspeccionar arrays rápido.