Cyber Monday Sale 40% off unlimited courses & creative assets! 40% off unlimited assets! Save Now
Advertisement
  1. Code
  2. PHP

Estructuras y bucles de control de PHP: if, else, for, foreach, while, y más

by
Read Time:12 minsLanguages:

Spanish (Español) translation by Luis Chiabrera (you can also view the original English article)

Hoy vamos a discutir las estructuras de control y los bucles en PHP. Le mostraré cómo usar todas las estructuras de control principales que son compatibles con PHP, como if, else, for, foreach, while y más.

¿Qué es una estructura de control?

En términos simples, una estructura de control le permite controlar el flujo de ejecución de código en su aplicación. Generalmente, un programa se ejecuta secuencialmente, línea por línea, y una estructura de control le permite alterar ese flujo, generalmente dependiendo de ciertas condiciones.

Las estructuras de control son características principales del lenguaje PHP que permiten que su script responda de manera diferente a diferentes entradas o situaciones. Esto podría permitirle a su script dar diferentes respuestas basadas en la entrada del usuario, el contenido del archivo u otros datos.

El siguiente diagrama de flujo explica cómo funciona una estructura de control en PHP.

If Condition FlowIf Condition FlowIf Condition Flow

Como puede ver en el diagrama anterior, primero se comprueba una condición. Si la condición es verdadera, se ejecutará el código condicional. Lo importante a tener en cuenta aquí es que la ejecución del código continúa normalmente después de la ejecución del código condicional.

Consideremos el siguiente ejemplo.

If-Else Condition FlowIf-Else Condition FlowIf-Else Condition Flow

En el ejemplo anterior, el programa verifica si el usuario ha iniciado sesión o no. En función del estado de inicio de sesión del usuario, se los redireccionará a la página de inicio de sesión o a la página Mi cuenta. En este caso, una estructura de control finaliza la ejecución del código al redirigir a los usuarios a una página diferente. Esta es una habilidad crucial del lenguaje PHP.

PHP soporta varias estructuras de control diferentes:

  • if
  • else
  • elseif
  • switch
  • while
  • do-while
  • for
  • foreach
  • y más

Echemos un vistazo a algunas de estas estructuras de control con ejemplos.

Ir a través de las diferentes estructuras de control

En la sección anterior, aprendimos los conceptos básicos de las estructuras de control en PHP y su utilidad en el desarrollo de aplicaciones. En esta sección, veremos un par de estructuras de control importantes que terminará usando con frecuencia en el desarrollo diario de su aplicación.

If

La construcción if le permite ejecutar un fragmento de código si la expresión provista junto con ella se evalúa como verdadera.

Echemos un vistazo al siguiente ejemplo para entender cómo funciona realmente.

¡El ejemplo anterior debe dar salida a Tu edad es mayor a 30! mensaje desde que la expresión se evalúa como verdadera. De hecho, si desea ejecutar solo una sola instrucción, el ejemplo anterior puede reescribirse como se muestra en el siguiente fragmento de código sin corchetes.

Por otro lado, si tiene más de una instrucción para ejecutar, debe usar corchetes, como se muestra en el siguiente fragmento de código.

Else

En la sección anterior, analizamos la construcción if, que le permite ejecutar un fragmento de código si la expresión se evalúa como verdadera. Por otro lado, si la expresión se evalúa como falsa, no hará nada. La mayoría de las veces, también desea ejecutar un fragmento de código diferente si la expresión se evalúa como falsa. Ahí es donde la declaración de else entra en la imagen.

Siempre se utiliza la sentencia else junto con una sentencia if. Básicamente, puede definirlo como se muestra en el siguiente pseudo código.

Revisemos el ejemplo anterior para entender cómo funciona.

Entonces, cuando tiene dos opciones, y una de ellas debe ejecutarse, puede usar la construcción if-else.

Else If

Podemos considerar la sentencia elseif como una extensión de la construcción if-else. Si tiene más de dos opciones para elegir, puede usar la declaración elseif.

Estudiemos la estructura básica de la sentencia elseif, como se muestra en el siguiente pseudo código.

Nuevamente, tratemos de entenderlo usando un ejemplo del mundo real.

Como puede ver en el ejemplo anterior, tenemos varias condiciones, por lo que hemos usado una serie de sentencias elseif. En el caso de que todas las condiciones de if se evalúen como falsas, ejecuta el código provisto en la última instrucción else.

Cambiar

La instrucción de cambio es algo similar a la instrucción elseif que acabamos de discutir en la sección anterior. La única diferencia es la expresión que se está comprobando.

En el caso de la sentencia elseif, tiene un conjunto de condiciones diferentes y se ejecutará una acción apropiada en función de una condición. Por otro lado, si desea comparar una variable con valores diferentes, puede usar la instrucción switch.

Como de costumbre, un ejemplo es la mejor manera de entender la instrucción switch.

Como puede ver en el ejemplo anterior, queremos verificar el valor de la variable $ favourite_site y, en función del valor de la variable $ favourite_site, queremos imprimir un mensaje.

Para cada valor que desee verificar con la variable $ favourite_site, debe definir el bloque case. Si el valor coincide con un caso, se ejecutará el código asociado con ese bloque de caso. Después de eso, debe usar la instrucción break para finalizar la ejecución del código. Si no usa la instrucción break, la ejecución del script continuará hasta el último bloque en la instrucción switch.

Finalmente, si desea ejecutar un fragmento de código si el valor de la variable no coincide con ningún caso, puede definirlo en el bloque default. Por supuesto, no es obligatorio, es solo una forma de proporcionar un caso predeterminado.

Así que esa es la historia de las estructuras de control condicional. Discutiremos los bucles en PHP en la siguiente sección.

Bucles

Los bucles en PHP son útiles cuando desea ejecutar un fragmento de código repetidamente hasta que una condición se evalúe como falsa. Por lo tanto, el código se ejecuta repetidamente siempre que una condición se evalúe como verdadera y, tan pronto como la condición se evalúe como falsa, la secuencia de comandos continúa ejecutando el código después del bucle.

El siguiente diagrama de flujo explica cómo funcionan los bucles en PHP.

Loop FlowLoop FlowLoop Flow

Como puede ver en la captura de pantalla anterior, un bucle contiene una condición. Si la condición se evalúa como verdadera, se ejecuta el código condicional. Después de la ejecución del código condicional, el control vuelve a la condición de bucle y el flujo continúa hasta que la condición se evalúa como falsa.

En esta sección, veremos los diferentes tipos de bucles admitidos en PHP.

Bucle While

El bucle while se usa cuando se desea ejecutar un fragmento de código repetidamente hasta que la condición while se evalúa como falsa.

Puedes definirlo como se muestra en el siguiente pseudo código.

Veamos un ejemplo del mundo real para comprender cómo funciona el bucle while en PHP.

Si está familiarizado con la serie de Fibonacci, puede reconocer lo que hace el programa anterior: genera la serie de Fibonacci para los primeros diez números. El bucle while se usa generalmente cuando no se sabe la cantidad de iteraciones que se llevarán a cabo en un bucle.

Bucle Do-While

El bucle do-while es muy similar al bucle while, con la única diferencia de que la condición while se verifica al final de la primera iteración. Por lo tanto, podemos garantizar que el código de bucle se ejecute al menos una vez, independientemente del resultado de la expresión while.

Echemos un vistazo a la sintaxis del bucle do-while.

Vayamos a un mundo real para comprender posibles casos de uso en los que puede usar el bucle do-while.

En el ejemplo anterior, estamos intentando leer un archivo línea por línea. En primer lugar, hemos abierto un archivo para su lectura. En nuestro caso, no estamos seguros de si el archivo contiene algún contenido. Por lo tanto, debemos ejecutar la función fgets al menos una vez para verificar si un archivo contiene algún contenido. Así que podemos usar el bucle do-while aquí. do-while evalúa la condición después de la primera iteración del bucle.

Blucle For

Generalmente, el bucle for se usa para ejecutar un fragmento de código por un número específico de veces. En otras palabras, si ya conoce la cantidad de veces que desea ejecutar un bloque de código, es el bucle for que es la mejor opción.

Echemos un vistazo a la sintaxis del bucle for.

La expresión expr1 se usa para inicializar variables, y siempre se ejecuta. La expresión expr2 también se ejecuta al comienzo de un bucle, y si se evalúa como verdadera, se ejecuta el código de bucle. Después de la ejecución del código de bucle, se ejecuta el expr3. Generalmente, el expr3 se usa para alterar el valor de una variable que se usa en la expresión expr2.

Veamos el siguiente ejemplo para ver cómo funciona.

El programa anterior produce el cuadrado de los primeros diez números. Inicializa $ i a 1, se repite mientras $ i sea menor o igual a 10, y agrega 1 a $ i en cada iteración.

For Each

El bucle foreach se utiliza para iterar sobre variables de matriz. Si tiene una variable de matriz y desea recorrer cada elemento de esa matriz, el bucle foreach es la mejor opción.

Echemos un vistazo a un par de ejemplos.

Si desea acceder a valores de matriz, puede usar la primera versión del bucle foreach como se muestra en el ejemplo anterior. Por otro lado, si desea acceder tanto a una clave como a un valor, puede hacerlo como se muestra en el ejemplo de $ employee anterior.

Conclusión

En este artículo, discutimos diferentes estructuras de control y bucles en PHP. Son una parte esencial de PHP, o cualquier lenguaje de programación para esa materia.

Espero que hayas disfrutado de este artículo, y si tienes alguna pregunta, ¡no dudes en preguntarles usando la siguiente información!

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.