Este pequeño ejercicio de PHP lo cuelgo aquí por que es una buena manera de practicar un poco con el bucle for e ir anidándolos. Se trata de realizar una tabla de multiplicar básica.
Los bucles for son los más complejos en PHP. Se comportan como sus homólogos en C. La sintaxis de un bucle for es:
for (expr1; expr2; expr3) sentencia
La primera expresión (expr1) es evaluada (ejecutada) una vez incondicionalmente al comienzo del bucle.
En el comienzo de cada iteración, se evalúa expr2. Si se evalúa como TRUE, el bucle continúa y se ejecutan la/sy sentencia/s anidada/s. Si se evalúa como FALSE, finaliza la ejecución del bucle.
Al final de cada iteración, se evalúa (ejecuta) expr3.
Cada una de las expresiones puede estar vacía o contener múltiples expresiones separadas por comas. En expr2, todas las expresiones separadas por una coma son evaluadas, pero el resultado se toma de la última parte. Que expr2 esté vacía significa que el bucle debería ser corrido indefinidamente (PHP implícitamente lo considera como TRUE, como en C). Esto puede no ser tan inútil como se pudiera pensar, ya que muchas veces se debe terminar el bucle usando una sentencia condicional break en lugar de utilizar la expresión verdadera del for.
[amazon box=»8441543720″ template=»horizontal»]
Este ejercicio se trata de tres bucles con los que se representarán los número de 1 a 10 y en cada celda se incluirá el resultado de multiplicarlo por el número correspondiente. Todo esto incluido dentro de una tabla. Como siempre iremos intercalando el código PHP con el código HTML, algo elemental.
El código para crear la tabla de multiplicar
<table border="1" align="center"> <?php echo "<tr>"; for ($cabecera="0";$cabecera<=10;$cabecera++){ echo "<th>"; echo $cabecera; echo "</th>"; } echo "</tr>"; for ($x = 1; $x <=10; $x++){ echo "<tr>"; echo "<th>"; echo $x; echo "</th>"; for ($y=1;$y<=10;$y++){ $multiplicacion=$x*$y; echo "<td>"; echo $multiplicacion; echo "</td>"; } echo "</tr>"; } ?> </table>
Este ejercicio se puede ver funcionando en el siguiente enlace.