Estructuras de Control en PHP

PHP cuenta con un mayor número de estructuras de control que la mayoría de lenguajes. De hecho, a diferencia de otros, tiene incluso varias sintaxis alternativas para la mayoría de las estructuras de control.

En primer lugar recordemos que hay dos tipos de estructuras de control de flujos: condicionales e iterativas. Las primeras son las que, en función de una condición, deciden si ejecutan o no una acción. En las segundas, la acción se realizará de manera repetitiva mientras se cumpla la condición.

Estructuras de control condicionales

Estructura IF

Se trata de la estructura de control más secilla. Si se cumple la condición, se ejecutan las instrucciones de su interior. No hay más.

<?php
   	$dia = date("d");
   	if ($dia <= 15) {
   		echo "Estamos a principios de mes";
  	}
?>

En el código anterior, la función date(«d») devolverá el día numérico en que nos encontramos. Por ejemplo, si estamos a 7 de agosto, devolverá «7».

Una peculiaridad de PHP es que tenemos dos formas de escribir las estructuras de control. La anterior es la forma «clásica» y la más habitual, pero también hay una forma alternativa que se asemeja a lenguajes donde no hay llaves como PL/SQL o PASCAL.

<?php
   	$dia = date("d");
   	if ($dia <= 15):
   		echo "Estamos a principios de mes";
  	endif;
?>

Como podemos ver, la llave de apertura se sustituye por unos dos puntos, y la llave de cierre por la palabra clave «endif» seguida de punto y coma.

Estructura IF – ELSE

Vamos a ampliar ligeramente la estructura anterior añadiendo la cláusula ELSE. El código dentro de esta cláusula se ejecutará en cualquier caso en el que no se cumpla la condición anterior (o condiciones anteriores, en caso de haber varias).

<?php
   	$dia = date("d");
   	if ($dia <= 15) {
   		echo "Estamos a principios de mes";
   	} else {
   		echo "Estamos a finales de mes";
  	}
?>

Al igual que en el caso anterior, podemos reescribir la estructura con la sintaxis alternativa que hemos comentado.

<?php
   	$dia = date("d");
   	if ($dia <= 15):
   		echo "Estamos a principios de mes";
   	else:
   		echo "Estamos a finales de mes";
  	endif;
?>

En este ejemplo lo único que ha cambiado respecto al anterior ejemplo con la sintaxis alternativa es que la cláusula «else» tiene unos dos puntos.

Estructura IF – ELSE IF – ELSE

¿Y si queremos incluir más condiciones? En ese caso basta con añadir cláusulas ELSE IF con las condiciones que deseemos.

<?php
   	$hora = date("H");
   	if ($hora < "12") {
   	   	echo "Buenos días";
   	} elseif ($hora >= “12” && $hora < "20") {
   	   	echo "Buenas tardes";
   	} else {
   	   	echo "Buenas noches";
   	}
?>

En este ejemplo, la función de PHP date(«H») nos devuelve la hora actual (sin los minutos), por lo que si son las 19:14, nos devolverá «19».

Con la sintaxis alternativa el código quedaría de la siguiente forma:

<?php
   	$hora = date("H");
   	if ($hora < "12"):
   	   	echo "Buenos días";
   	elseif ($hora >= “12” && $hora < "20"):
   	   	echo "Buenas tardes";
   	else:
   	   	echo "Buenas noches";
   	endif;
?>

Estructuras de control iterativas

Estructura WHILE

La estructura WHILE nos permite ejecutar una misma instrucción MIENTRAS se cumpla una cierta condición. Siempre que esa instrucción se evalúe a TRUE, se volverá a entrar dentro del cuerpo de la estructura. Una vez se evalúe a FALSE se dejará de ejecutar el cuerpo de la estructura y el flujo de ejecución del programa saltará hasta justo después del fin de la estructura.

<?php
   	$i = 1;
   	while ($i <= 10) {
   	   	echo $i;  
   	   	$i++;
   	}
?>

Esta estructura también podríamos reescribirla mediante la sintaxis alternativa:

<?php
   	$i = 1;
   	while ($i <= 10):
   	   	echo $i;  
   	   	$i++;
   	endwhile
?>

Estructura DO WHILE

<?php
   $i = 1;
   do {
   echo $i.”<br>”;
      $i++;
   } while ($i <= 10);
?>

Este bucle …

La sintaxis alternativa no está disponible para el DO WHILE.

Estructura FOR

fddsafdsf

<?php
   for ($i = 1; $i <= 10; $i++) {
      echo $i;
   }
?>

dsfsad

<?php
   for ($i = 1; ; $i++) {
      if ($i > 10) {
         break;
      }
      echo $i;
   }
?>

Otra forma alternativa de crear una estructura for en PHP es mediante la sintaxis alternativa que hemos visto en el resto de ejemplos.

<?php
   for ($i = 1; $i <= 50 ; $i++):
      if ($i % 3 == 0) {
         echo $i."<br>";
      }
   endfor;
?>

Estructura FOR EACH

Para aprender esta estructura es necesario conocer los arrays. Si aún no sabes cómo manejar arrays en PHP, consulta esta página.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *