Blog de programación, errores, soluciones

Chose Language:
Author: Admin/Publisher |finished | checked

PHP for y foreach

En general, en PHP for y foreach se utilizan para recorrer un array. Al igual que while, for y foreach ejecutan un código mientras se cumplan ciertas condiciones.

for

https://blastcoding.com/php-for-y-foreach/#for

for cuenta con 3 expresiones, la primera que es el valor inicial de la iteración, o sea el valor donde empieza el loop, la segunda que es hasta cuando, el loop se continúa realizando mientras esta sea true y la 3.ª que es como se hace la iteración si va valor a valor va saltando 2 valores o que hace.

for(expresion1; expresion2; expresion3){

}

hay ocasiones en las que podemos toparnos con código donde no se especifican algunos de estos parámetros. Por ejemplo:

$contador = 0;
for (; $contador < 10; ) {
    // código a ejecutar en cada iteración
    $contador++;
}

Cuerpo del bucle

cuando tenemos nuestro for todo lo que está entre { y } será el cuerpo del bucle y será el código que se ejecutara en cada iteración, de igual manera esto ocurre con while, do-while y foreach

for (inicialización; condición; actualización) { // código a ejecutar en cada iteración }

bucles infinitos con for

En for tenemos 2 maneras de crear bucles infinitos, uno es especificar la condición como true y el otro es sin especificar nada:

bucle for infinito especificando la condicion como true
for (true) {
    // Este código se ejecutará indefinidamente
}
bucle for infinito sin especificar inicialización; condición; actualización
for (;;) {
    // Este código se ejecutará indefinidamente
}

foreach

https://blastcoding.com/php-for-y-foreach/#foreach

Con foreach es muy fácil recorrer un array o un objeto y solo funciona con estas dos tipos de variables. si utilizas sobre una variable común nos dará un error E_WARNING.

Sintaxis / Sintax
foreach($array as $item){
    //bloque ejecutado mientra el array tenga miembros por recorrer
}

foreach($array as $key => $item){
    //bloque ejecutado mientra el array tenga miembros por recorrer
}

En el segundo caso, $key será la key en donde estamos parados en la iteración o elemento actual del array.

Cambiando el array

si paso el valor de un elemento por referencia por ejemplo &$value mi array cambiará para siempre.

Sintaxis / Sintax
foreach ($array as &$value) {
    // Modificar $value modificará el array original
}

Comparemos 2 ejemplos para que esto quede entendido

Ejemplo 1
$nums = range(1, 5);

// Iterar sobre el array con foreach
foreach ($nums as $num) {
	$num= $num+1;
    echo $num . "\n";
}
print_r($nums);
2
3
4
5
6
Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)
Ejemplo 2
$nums = range(1, 5);

// Iterar sobre el array con foreach
foreach ($nums as &$num) {
	$num= $num+1;
    echo $num . "\n";
}
print_r($nums);
2
3
4
5
6
Array
(
    [0] => 2
    [1] => 3
    [2] => 4
    [3] => 5
    [4] => 6
)

Ejemplos de PHP foreach

// Crear un array con los números del 1 al 5
$nums = range(1, 5);

// Iterar sobre el array con foreach
foreach ($nums as $num) {
    echo $num . "\n";
}

Veamos un ejemplo utilizando la segunda sintaxis:

$usuario = array(
    "nombre" => "Juan",
    "apellido" => "Pérez",
    "edad" => 30,
    "email" => "juan.perez@example.com",
    "telefono" => "123-456-7890"
);

// Iterar sobre el array con foreach
foreach ($usuario as $clave => $valor) {
    echo "$clave: $valor\n";
}
nombre: Juan
apellido: Pérez
edad: 30
email: juan.perez@example.com
telefono: 123-456-7890

Tanto como foreach como while se usan mucho para mostrar data traída desde la base de datos. tenga en cuenta que la mayoria de las veces la consulta que hagamos a base de datos la podemos traer como si fuera un array.

En el siguiente link puedes ver un breve resumen acerca de Las Estructuras de Control en PHP

Category: php
Something wrong? If you found an error or mistake in the content you can contact me on Twitter | @luisg2249_luis.
Last 4 post in same category