Saltar al contenido

Estructuras de Control en PHP: Guía para Programadores

estructuras-de-control-en-php

Como programador en PHP, es importante conocer las diferentes estructuras de control que se pueden utilizar en el lenguaje. Las estructuras de control son elementos clave para el control de flujo de un script, y su uso adecuado puede mejorar la legibilidad y eficiencia del código.

Estas reglas nos ayudan a controlar, modificar y alterar el flujo o el orden en el cual se ejecutan dichas instrucciones dentro de un programa.

Hoy en día casi en todos los lenguajes de programación utilizan las mismas estructuras de control cambiando únicamente sus sintaxis ya que la lógica es similar.

En esta guía te mostraremos las principales estructuras de control disponibles en PHP y cómo utilizarlas para mejorar tus scripts.

Estructura de control IF en php

La estructura if tambien conocida como condicional if es una de las mas importantes en muchos lenguajes ya que permite la ejecución condicional de fragmentos de código.

La sintaxis en pseudocódigo de la condicional IF es la siguiente:

if (expresion) {
    sentencia
}

Cabe mencionar que la expresión es evaluada a su valor booleano, es decir, si la expresión se evalúa como true (verdadero) se ejecutara la sentencia entre las llaves, si la expresión se evalúa como false (falso) se ignorara la sentencia entre las llaves y no se ejecutara.

Ejemplo:

Las condicionales if se pueden anidar a otras condicionales if lo cual provee mucha flexibilidad en la ejecución condicional de codigo fuente.

Estructura de control else en php

La estructura de control else se extiende de la estructura de control if, es decir sirve para ejecutar una sentencia si una condición no se cumple.

En caso de que la expresión en la estructura if se evalué como false (falso) automáticamente se ejecuta la sentencia contenida en else

la sintaxis en pseudocódigo de la estructura de control else es la siguiente:

if (expresion){
   sentencia    // Si la expresion es verdadera se ejecutara esta sentencia
}else{
  sentencia    // Si la expresion es falsa se ejecutara esta sentencia
}

Recordemos la estructura else se ejecutara únicamente si la expresion de IF es falsa

Aqui te dejo un ejemplo claro:

Estructura de control else if/elseif en php

La estructura de control else if/elseif es una combinación de las dos estructuras explicadas anteriormente, esta estructura de control al igual que else solo pueden existir después de un if.

La sentencia de un else if/elseif solo se ejecutara cuando las expresiones de un if o cualquier otro else if /elseif anterior sean falsas

La sintaxis en pseudocódigo de la estructura de control else if/elseif es la siguiente:

if (expresion){
    sentencia
} elseif (expresion) {
    sentencia
} else if (expresion) {
    sentencia
} else {
    sentencia
}

Debes saber que puedes incluir la estructura else if/elseif tantas veces lo requieras

Ejemplo:

En este ejemplo creamos la variable $dia y le asignamos la cadena «Sabado»

Mediante estructuras de control evaluamos todos los días de la semana, las primeras 5 sentencias se evalúan como falsas y la quinta como verdadera por tal motivo se ejecuta la sentencia correspondiente a ese elseif la cual imprime en pantalla Hoy es Sabado

Estructura de control while en php

La estructura de control while o mejor conocido como ciclo/bucle while es el tipo mas sencillo de bucles en PHP, su sintaxis en pseudocodigo es la siguiente:


while (expresion) {
    sentencia
 }

El significado de esta estructura de control es muy simple, se evalúa en su valor booleano y mientras la expresion entre paréntesis sea true(verdadera) la sentencia se iterara las veces que sea necesario.

A diferencia de las anteriores estructuras de control las sentencias de los bucles while se pueden ejecutar muchas veces hasta que la expresion sea false(falsa), a continuación un ejemplo:

Este ciclo/bucle while lo que hace es imprimir los números del 1 al 10.

En un inicio el numero vale 1, la expresion dice que mientras numero sea menor o igual a 10 se imprimirá el numero y se incrementara su valor en 1

En cada ejecución del ciclo se evalúa la expresion entre paréntesis, mientras sea verdadera se ejecuta la sentencia y cuando la expresion se vuelve falsa se termina el ciclo.

Estructura de control do while en php

La estructura de control do while mejor conocida como bucle/ciclo do while es similar a los bucles while, excepto que la expresion es evaluada después de ejecutarse la sentencia, la sintaxis en pseudocodigo es la siguiente:

do{
   sentencia
}while (expresion);

Si observas bien las instrucciones de este ciclo primero se ejecuta la sentencia, después se evalúa la expresion, este ciclo garantiza que al menos una vez se ejecute la sentencia

Ejemplo:

El ejemplo anterior tiene una variable que vale 0, la sentencia del ciclo while dice que debe imprimir el valor de la variable y la expresion dice que mientras sea mayor que 0

La sentencia del bucle do while solo se ejecutara una vez ya que después se evaluara la expresion ($numero > 0) la cual es falsa y terminaría el ciclo.

Estructura de control for en php

La estructura de control for mejor conocida como bucle o ciclo for es mas compleja que los bucles anteriores.

La sintaxis en pseudocódigo es la siguiente:

for (expresion1; expresion2; expresion3){
    sentencia
}

En el ciclo for se evalúan tres expresiones separadas por punto y coma ; cada una.

La expresion1 es evaluada únicamente al comienzo del bucle

La expresion2 es evaluada con cada iteración del bucle

La expresion3 es la acción a realizar siempre y cuando la expresion2 sea verdadera

Ejemplo:

El bucle for anterior hace lo siguiente:

  • La expresion $numero = 1 se ejecuta únicamente al iniciar el bucle.
  • La expresion $numero<=10 se evalúa en cada iteración del bucle y mientras sea verdadera se va a ejecutar la tercera expresion.
  • La tercera y ultima expresion $numero++ se va a ejecutar siempre y cuando la expresion anterior sea verdadera.

Cada vez que se ejecuten las expresiones anteriores como verdadera se va a realizar la sentencia que esta entre corchetes

Es decir se va a imprimir el valor de la variable $numero que en un inicio valía 1 y con cada ejecución del ciclo iba aumentando en 1 hasta llegar a diez. En conclusión el bucle anterior imprime los numero desde el 1 hasta el 10.

Estructura de control foreach en php

La estructura de control foreach mejor conocida como bucle foreach nos sirve únicamente para iterar arrays y objetos , si intentas utilizarlos con alguna variable diferente o vacía emitirá un error.

La sintaxis en pseudocodigo es la siguiente:

foreach (expresión_array as $valor){
    sentencias
}

foreach (expresión_array as $clave => $valor){
    sentencias
}

El primer ejemplo recorre el array(expresion_array) y en cada iteración el valor del elemento actual se asigna a $valor y el puntero avanza a la siguiente posición, de esta manera se recorren todos los elementos del array

El el segundo ejemplo devuelve la posición del arreglo y el valor asignado a esa posición.

A continuación un pequeño ejemplo para comprenderlo mejor:

El primer ejemplo nos devuelve todos los valores del arreglo

El segundo ejemplo además de devolvernos los valores del arreglo nos devuelve la posición donde se encuentra cada valor por si quieres trabajar con ella.

Estructura de control break en php

La estructura de control break finaliza otra estructuras de control en curso como lo son for, foreach, while, do-while o switch.

la sintaxis en pseudcódigo es la siguiente:

break;

break(parámetro);

La estructura de control break siempre va dentro de otra estructura de control y tambien puede ir dentro de estructuras de control anidadas como el siguiente ejemplo:

Break se puede utilizar de dos maneras, con parámetro y sin parámetro, en el ejemplo anterior se utiliza de las dos maneras.

Cuando a Break no le asignamos parámetro finaliza la estructura de control en la cual esta declarada.

Cuando a Break se le asigna un parámetro por ejemplo 2 finaliza las ultimas dos estructuras de control dentro de la cuales esta declarada.

Estructura de control Continue en php

La estructura de control Continue se utiliza en otras estructuras iterativas como lo son while, for, foreach, etc. para saltar el resto de la iteración actual y continuar con la ejecución evaluando nuevamente la condición y posteriormente iniciar la siguiente iteración

Continue acepta un argumento de tipo numérico que indica cuantos niveles de bucles saltara al final, el valor por defecto es 1.

La sintaxis en pseudocódigo es la siguiente:

while (expresion) {
    if (expresion) { 
        continue;
    }

}

Un ejemplo muy sencillo es el siguiente:

El ejemplo anterior lo que hace es imprimir números del 0 hasta el 10 excepto el numero 5, en la condición if le decimos que si $i==5 ejecute la estructura continue es decir que salte el resto de la iteración y continue con la siguiente.

Estructura de control switch en php

La estructura de control switch es como una serie de sentencias if y sirve para comparar variables con diferentes valores y a su vez ejecutar fracciones de código

La sintaxis en pseudocódigo de la estructura switch es la siguiente:

switch(expresion){

   case "expresion":
             sentencia;
    break;

case "expresion":
             sentencia;
    break;

case "expresion":
             sentencia;
    break;
}

Se van a ejecutar las sentencias cuando la expresion de los case sea idéntica a la de switch

Es importante el uso de break; para finalizar un case, de lo contrario se ejecutaran todos los case siguientes.

Ejemplo:

En el ejemplo anterior definimos la variable día y le asignamos la cadena «Martes»

En cada case evaluamos todos los días de la semana, así mismo imprimimos el día, el resultado del código anterior es «Hoy es Martes»

Estructura de control match en php

La estructura de control match es una novedad a partir de php 8.0 y es una manera de simplificar las expresiones switch y las sentencias if{ } y elseif { }

Este estructura permite múltiples comparaciones de una manera mas simple y con menos código

La sintaxis en pseudocodigo es la siguiente:

$variable = match(expresion){
    $variable => sentencia, 
    $variable => sentencia,
    $variable => sentencia,
 default => sentencia,
}

echo $variable;

La estructura match siempre devolverá un valor.

De manera similar a una sentencia switch la sentencia match tiene una expresion que se va a comparar con múltiples alternativas y retornara la sentencia que se encuentra ubicada justo después de =>

A continuación un ejemplo sencillo:

En el ejemplo tenemos cuatro variables, utilizamos la estructura match para comparar la variable $a con las otras tres variables, cuando encuentre otra variable que valga lo mismo ejecutara la sentencia ubicada después de =>

Si ninguna de las variables es idéntica se ejecutara la sentencia default que seria similar a la estructura else

Esta es una manera de simplificar las estructuras switch, if { }, else{ }, elseif { }

Estructura de control declare en php

Declare es mas conocido como un constructor en php, y es usado para fijar directivas de ejecución en un bloque de código.

La sintaxis en pseudocódigo es la siguiente:

declare (directive)
    statement

La sección directive permite configurar el comportamiento de declare, al día de hoy 15 de Enero del 2023 solo están reconocidas 3 directivas las cuales son: ticks, encoding y strict_types

La directiva tick es un evento que ocurre para cada sentencia tickable ejecutada dentro del bloque declare

Ejemplo:

En el ejemplo anterior tenemos una funcion que imprime la palabra hola y en el statement de nuestra estructura de control tenemos un ciclo while que imprime los números del 1 al 10.

Los eventos que ocurrirán cada dos ticks se especifican con register_tick_function(); y recibe como parámetro el nombre de la funcion a ejecutar.

De este modo se imprimen los números del 1 al 10 y cada dos ejecuciones del ciclo while se ejecuta el evento tick con la funcion escribir()

Estructura de control return

La estructura de control return devuelve el control del programa al módulo que lo invoca.

Si se llama a return desde una función inmediatamente termina la ejecución de la función actual y devuelve un argumento.

la sintaxis en pseudocodigo de la estructura de control return es la siguiente:

function Sumar(parámetros){

    return argumentos;

}

A continuación te muestro un sencillo ejemplo del uso de return dentro de una función.

Como podrás notar la estructura return devuelve un valor y finaliza la función.

Estructura de control require / require_once en php

La estructura de control require / require_once es idéntica a include / include_once a diferencia que en caso de fallo producirá un error fatal de nivel E_COMPILE_ERROR y se detendrá el script, mientras que con include solo se emitirá una advertencia de tipo E_WARNING y continuara el script.

la sintaxis en pseudocodigo es la siguiente:

require (archivo);

Un ejemplo sencillo de require es el siguiente:

Imaginemos que tenemos un archivo llamado archivo.php con el siguiente codigo:

Ahora desde otro archivo incluimos el anterior script quedando de la siguiente manera:

Estructura de control include / include_once

La estructura de control include / include_once incluye y ejecuta un archivo, cabe mencionar que si se presenta un error solo se emitirá un E_WARNING continuando con la ejecución del script

La sintaxis en pseudocodigo es la siguiente:

include (archivo);

Puntos a tomar en cuenta al momento de utilizar la estructura include

  • Include_once evalúa el archivo y si este ya ha sido incluido no se volverá a incluir.
  • Las variables del archivo include estarán disponibles desde el momento en que el archivo se incluya
  • Si un archivo se incluye dentro de una funcion, las variables del archivo estarán disponibles dentro del mismo ámbito.
  • Al momento de incluir un archivo, el interprete abandona el modo PHP e ingresa al modo HTML
  • Es posible devolver valores desde los archivos incluidos con return

Ejemplo básico de include:

En el siguiente archivo solo tenemos una variable y la retornamos:

En este archivo incluimos el archivo anterior dentro de una función y mandamos a imprimir una variable

Si ejecutas estos dos archivos en tu maquina podrás darte cuenta que la primera linea arroja un error de tipo warning pero aun así continua con la ejecución del script

Estructura de control goto

La estructura de control goto se utiliza para saltar a otra sección del script.

Es importante saber que la sección a donde saltaremos debe estar dentro del mismo fichero y ámbito.

la sintaxis en pseudocodigo es la siguiente:

goto seccion;

seccion:
sentencia;

Ejemplo:

Como podrás notarlo la estructura goto permite brincar a una sección especifica y ejecutar el codigo que se encuentra en dicha sección

En resumen, conocer y entender las diferentes estructuras de control disponibles en PHP es esencial para escribir scripts eficientes y legibles. Con la práctica y el uso adecuado de estas estructuras, puedes optimizar tus scripts y mejorar el rendimiento de tus aplicaciones.

En este blog hemos cubierto las principales estructuras de control disponibles en PHP, si quieres profundizar más en el tema, te recomendamos seguir el enlace que deje en cada estructura y practicando con estos elementos clave del lenguaje.

Entra a este enlace y aprende mas sobre php

Deja una respuesta

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