AnteriorPosterior

5. Instrucciones repetitivas

  Curso: Introducción a PHP

5. Instrucciones repetitivas

Si queremos hacer que una sección de nuestro programa se repita mientras se cumpla una cierta condición, usaremos la orden "while".

Si queremos comprobar la condición antes de comenzar, la sintaxis es

  while  (condición) 
    sentencia;

Es decir, la sentencia se repetirá mientras la condición se cierta. Si la condición es falsa ya desde un principio, la sentencia no se ejecuta nunca. Si queremos que se repita más de una sentencia, basta agruparlas entre { y }.

Un ejemplo muestre los números del 1 al 10 (repet1.php) sería

<html>
<body>
<?php
  // repet1.php, mostrar los números del 1 al 10 usando "while"
  $numero = 1;
  while ($numero <= 10) {
    echo $numero, "-";
    span style="color: #000088;">$numero ++;
  }
?>
</body>
</html>

Que daría como resultado

1-2-3-4-5-6-7-8-9-10-

Lo que hace este programa es: comenzar con el valor 1 para la variable "numero". Mientras que ese número sea menor o igual que 10, lo escribe en pantalla, escribe un guión, y aumenta el valor de la variable "número", para pasar al siguiente.

La forma de sumar 1 al valor de una variable (muy frecuente cuando repetimos algo) es la que acabamos de ver:

$numero ++;

Si queremos que aumente de 2 en 2, o de 3 en 3, la sintaxis cambia ligeramente:

$numero += 3;

De igual modo, podemos disminuir en uno el valor de una variable con "--", o restarle un cierto número con "-=", o multiplicarlo por un número con "*=".

Ejercicios propuestos

  • 5.1: Crea una página que muestre los números del 1 al 100 que sean múltiplos de 3, usando "while".
  • 5.2: Crea una página que muestre tantos guiones ("-") como indique el usuario, usando "while".
  • 5.3: Crea una página que muestre una tabla HTML vacía, con 25 filas de dos columnas, usando "while".


Existe otra variante de la orden "while", para cuando necesitemos que la condición se compruebe al final (útil por ejemplo para comprobar una clave de acceso, que debemos pedir al usuario al menos una vez, antes de verificar si es correcta). Se trata del conjunto "do..while", como en este ejemplo (repet2.php):

<html>
<body>
<?php
  // repet2.php, mostrar los números del 0 al 10 usando "do-while"
  $numero = 0;
  do {
    echo $numero, "-";
    $numero ++;
  } while ($numero <= 10);
?>
</body>
</html>

Su resultado sería

0-1-2-3-4-5-6-7-8-9-10-

Ejercicios propuestos

  • 5.4: Crea una página que muestre los números del 10 al 1, descendiendo, usando "do-while".
  • 5.5: Crea una página que muestre 20 veces la palabra "Hola", usando "do-while".
  • 5.6: Crea una página que muestre 10 espacios en blanco (usando &nbsp;) seguidos por la palabra "Hola", usando "do-while".


Finalmente, tenemos también la orden "for", que típicamente se usa cuando sabemos cuantas veces queremos que se repita algo. Su formato es:

  for   (valorInicial; CondiciónRepetición; Incremento) 
     Sentencia;

Por ejemplo, para escribir los números pares del 10 al 20, podríamos usar una variable que tuviera como valor inicial 10, que se repita mientras tenga una valor menor o igual que 20, y que aumente 2 unidades en cada pasada, así (repet3.php):

<html>
<body>
<?php
  // repet3.php, mostrar los números pares del 10 al 20 usando "for"
  for ($numero=10; $numero<=20; $numero+=2) {
    echo $numero, "<br />";
  }
?>
</body>
</html>

Ejercicios propuestos

  • 5.7: Crea una página que muestre los múltiplos de 5 entre 100 y 200, usando "for".
  • 5.8: Crea una página que muestre un triángulo formado por un punto en la primera fila, dos en la segunda, tres en la tercera, cuatro en la cuarta, y así sucesivamente, hasta completar 10 filas, usando "for".
  • 5.9: Crea una página que muestre una tabla HTML vacía, con 25 filas de 5 columnas, usando dos "for" anidados (uno dentro del otro).

Actualizado el: 06-12-2013 11:06

AnteriorPosterior