Diferencia entre revisiones de «Programación en PHP/Bucles»

Contenido eliminado Contenido añadido
Línea 201:
 
===For===
Son losLos bucles '''for''' (Español: Para) son los más complejos en PHP (y en otros lenguajes tambiénde programación). Su sintáxis es la siguiente:
 
Sintáxis:
 
for (1ªexpr; 2ªexpr; 3ªexpr) sentencia;
 
La primera expresión se ejecuta siempreuna sola vez al inicio, (sóloa una vez),continuación la segunda expresión se evalúa como falsa o verdadera, si es falsa, el bucle finaliza, en caso contrario, el bucle ejecuta la sentencia y luego ejecuta la tercera expresión,; luegocompletada deasí estola primera iteración se vuelve a evaluar la segunda expresión, y si esta es verdadera se evalúaejecuta nuevamente la sentencia, con esto se completa una segunda iteración. Las iteraciones continúan hasta que la segunda expresión, etcsea evaluada a falso.
 
Estas expresiones son la ''inicialización'', donde se dá el valor inicial a la variable de control del bucle; la ''condición'' que inicia cada iteración solo si es evaluada a verdadero; y el ''paso'' que incrementa o decrementa la variable de control al final de cada iteración para garantizar que la condición eventualmene evalúe a falso. veamos ahora como se utiliza:
Todas las expresiones pueden dejarse vacías, dejando al bucle infinitamente, aunque se suele interrumpirlo con la sentencia break dentro de un if. Al igual que while, tiene una sintáxis alternativa, para múltiples sentencias:
 
<?php
for (1ªexpr;2ªexpr;3ªexpr): sentencia;
for($i = 1; $i <= 5; $i += 1) echo $i . "\n";
...;
?>
Salida
1
2
3
4
5
Todas las expresiones de un bucle '''for''' pueden dejarse vacías, dejando al bucle iterar infinitamente, aunque seen este caso suele interrumpirlointerrumpirse con launa sentencia '''break''' dentrodel demismo unmodo if.que se hace con el bucle '''while'''; Al igual que whileeste último, tiene unaun par de sintáxis alternativa,alternativas para múltiples sentencias:
 
{| align = "center" border="1" cellpadding="5"
!align="center" |Usado endfor!!Usando corchetes
|- valign="top"
|
for (1ªexpr; 2ªexpr; 3ªexpr): sentencia;
sentencia;
sentencia;
.
.
.
sentencia;
endfor;
|
for (1ªexpr; 2ªexpr; 3ªexpr)
{
sentencia;
sentencia;
.
.
.
sentencia;
}
|}
 
Y continuemos ahora con un ejemplo de bucle '''for''' con multiples sentencias:
 
<?php
for($i = 2; $i <= 10; $i += 2)
{
echo "......................\n";
//contando números pares
echo "i vale: " . $i . "\n";
//sus cuadrados
echo "i^2: " . $i*$i . "\n";
//y sus inversos
echo "1/i: " . 1/$i . "\n";
}
?>
 
y la salida
......................
i vale: 2
i^2: 4
1/i: 0.5
......................
i vale: 4
i^2: 16
1/i: 0.25
......................
i vale: 6
i^2: 36
1/i: 0.166666666667
......................
i vale: 8
i^2: 64
1/i: 0.125
......................
i vale: 10
i^2: 100
1/i: 0.1