Algoritmos

Recorrer arreglos en PHP

Introducción

A la hora de trabajar con arreglos, vectores, listas o arrays en PHP siempre necesitaremos alguna forma de recorrerlos o iterarlos.

PHP ofrece 2 formas de hacerlo, una de ellas es la que conocemos: un ciclo for; y la otra forma es con un ciclo foreach.

Arreglo de ejemplo

Vamos a iterar sobre un arreglo de animales:

<?php
$animales = ["Perro", "Gato", "Vaca", "Serpiente", "Oso"];
?>

Es un arreglo simple pero bastará para explicar cómo recorrerlo.

Con for

Podemos recorrer un arreglo con un ciclo for. Sólo tenemos que obtener la longitud del mismo con count.

Para imprimir los valores, el código de ejemplo queda así:

<?php
$animales = ["Perro", "Gato", "Vaca", "Serpiente", "Oso"];
for ($x = 0; $x < count($animales); $x++) {
    $animal = $animales[$x];
    echo $animal;
    echo "<br><br>"; #Saltos de línea
}

?>

Ahí los imprimimos, pero podemos hacer cualquier cosa con los valores, fue sólo para ejemplificar.

Con for, optimizado

Hace un momento utilizamos count para contar los valores. Pero en cada iteración del ciclo, se llamaba a count.

Eso es una mala práctica, pues en arreglos largos o grandes nuestro script tomará más recursos e incluso más tiempo.

Es mejor obtener la longitud y guardarla en una variable aparte, así sólo llamamos a count una vez.

Así se ve el código optimizado:

<?php
$animales = ["Perro", "Gato", "Vaca", "Serpiente", "Oso"];
$longitud = count($animales);
for ($x = 0; $x < $longitud; $x++) {
    $animal = $animales[$x];
    echo $animal;
    echo "<br><br>"; #Saltos de línea
}

El resultado es el mismo pero el rendimiento ha sido mejorado.

Con foreach

Finalmente veamos el método más amigable para el ser humano: el ciclo foreach.

Para recorrer el arreglo, podemos hacer esto:

<?php
$animales = ["Perro", "Gato", "Vaca", "Serpiente", "Oso"];
foreach ($animales as $animal) {
    echo $animal;
    echo "<br><br>"; #Saltos de línea
}

Conclusión

En este caso lo hicimos con un arreglo de una dimensión, pero podemos recorrer arreglos de cualquier forma y de cualquier tipo.

Aquí las referencias a foreach.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Ver comentarios

Entradas recientes

Creador de credenciales web – Aplicación gratuita

Hoy te voy a presentar un creador de credenciales que acabo de programar y que…

2 días hace

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

1 semana hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

1 semana hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

1 semana hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

1 semana hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

1 semana hace

Esta web usa cookies.