Foreach en Php: Concepto con ejemplos
Foreach en Php: Concepto con ejemplos. En este artículo hablaremos de foreach que nos permite recorrer cada uno de los elementos de un array con tan solo una variable, su sintaxis es muy sencilla, sin embargo, puede ser de un array dentro de nuestro archivo y/o extraído de una base de datos como MySQL.
El constructor foreach proporciona un modo sencillo de iterar sobre arrays. foreach funciona sólo sobre arrays y objetos, y emitirá un error al intentar usarlo con una variable de un tipo diferente de datos o una variable no inicializada. Existen dos sintaxis:
Foreach en Php: Concepto con ejemplos
a) Sintaxis 01
foreach (expresión_array as $valor) sentencias
b) Sintaxis 02
foreach (expresión_array as $clave => $valor) sentencias
Aqui mostraremos un ejemplo completo
<?php $diassemana = array("Lunes","Martes","Miércoles","Jueves","Viernes","Sábado","Domingo"); foreach($diassemana as $dias){ echo $dias."<br>"; } ?>
El resultado en el navegador seria el siguiente:
Ahora les explicare un ejemplo de array asociativo
<?php $capitalesamerica = array("Chile"=>"Santiago","Peru"=>"Lima","Ecuador"=>"Quito"); foreach($capitalesamerica as $capi=>$valores){ echo "La Capital del Pais de ".$capi." es: ".$valores; echo "<br />"; } ?>
El resultado en el navegador seria lo siguiente:
FOREACH CON BASE DE DATOS MYSQLI
Cuando interactuamos con base de datos el ciclo FOREACH
siempre está presente y también los demás ciclos como el While. Por lo tanto, les dejare un ejemplo para manejar Foreach con Base de datos.
Más abajo mostrare un código completo para implementar este ciclo con MySQL. Sin embargo, lo que deseamos realizar es una consulta y utilizar el bucle Foreach para imprimir los valores devueltos de acuerdo a la consulta realizada.
Este bucle es muy peculiar y solo funciona en matrices, se utiliza para recorrer cada par clave o valor en una matriz para devolver resultados.
<?php // Llamamos al fichero controlador require_once("dbcontroller.php"); $db_handle = new DBController(); $sql = "SELECT * from tbl_empleados"; $faq = $db_handle->runQuery($sql); ?> <table class="table"> <thead class="thead-dark"> <tr> <th scope="col">#</th> <th scope="col">Usuario</th> <th scope="col">Cargo</th> <th scope="col">Nombres</th> <th scope="col">Apellidos</th> <th scope="col">Email</th> </tr> </thead> <tbody> <?php // Ejecucion del bucle Foreach con MySQL foreach($faq as $k=>$v) { ?> <tr> <th scope="row"><?php echo $k+1; ?></th> <td><?php echo $faq[$k]["Usuario"]; ?></td> <td><?php echo $faq[$k]["Cargo"]; ?></td> <td><?php echo $faq[$k]["Nombres"]; ?></td> <td><?php echo $faq[$k]["Apellidos"]; ?></td> <td><?php echo $faq[$k]["Email"]; ?></td> </tr> <?php } ?> </tbody> </table>
CONCLUSIÓN
Su uso en los proyectos y sistemas web es muy recomendado. Si bien, podemos utilizar otros bucles para devolver resultados de nuestra base de datos. En este ejemplo nos basaremos en el Foreach.
Si bien el ciclo for
es muy clásico y el más moderno seria el forEach
, de hecho son casi lo mismo. El bucle forEach
se inicia como una alternativa más actualizada al clásico for
.
Espero que les sirva esta explicación. Saludos y que tengan un excelente día.
Referencia
Me cago en la hostia!
como puedo hacer para que en el caso que uno de los valores a mostrar esté vacío y quisiera saltearlo, como continuo recorriendo el bucle?
alguien que sepa por favor!
Hola Nestor.
Te saludo desde Argentina. Tus códigos me han ayudado muchísimo.
Gracias por compartir tus conocimientos y experiencias.
Abrazo!