Estructuras de control de PHP: en caso contrario, cambie de caso

โšก Resumen inteligente

Las estructuras de control y los bucles determinan la ruta que sigue un programa PHP y permiten repetir bloques de cรณdigo de forma eficiente. Este tutorial explica las estructuras de decisiรณn if-else y switch, y luego aborda los bucles for, while, do-while y foreach, que son temas que se suelen tratar en este curso.

  • ๐Ÿ”€ Flujo de control: Una estructura de control decide quรฉ cรณdigo se ejecuta en funciรณn de una condiciรณn, transformando una secuencia lineal en una lรณgica basada en decisiones.
  • ๐Ÿ”ค Si-Si no: La estructura if-else ejecuta un bloque cuando una condiciรณn es verdadera y un bloque de reserva cuando es falsa.
  • ๐Ÿงฎ Switch-Case: La instrucciรณn switch compara un valor con varias etiquetas de caso y ejecuta el bloque que coincide, o el predeterminado cuando ninguno coincide.
  • ๐Ÿ” Descripciรณn general de los bucles: Los bucles repiten un bloque de cรณdigo, lo que evita tener que escribir las mismas instrucciones muchas veces.
  • ๐Ÿ”ข Conteo de bucles: para y mientras se repite mientras se mantiene una condiciรณn, ideal cuando sabes o track cuรกntas iteraciones son necesarias.
  • ๐Ÿ“ฆ Bucle Foreach: El bucle foreach recorre cada elemento de una matriz sin necesidad de gestionar manualmente un contador de รญndices.
  • ๐Ÿค– Asistencia de IA: Las herramientas de IA pueden refactorizar largas cadenas de sentencias if-else en sentencias switch o match y ayudar a corregir bucles infinitos.

Estructuras de control y bucles en PHP

ยฟQuรฉ es una estructura de control?

Code La ejecuciรณn se puede agrupar en categorรญas como se muestra a continuaciรณn.

  • Secuencial โ€“ Este mรฉtodo consiste en ejecutar todo el cรณdigo en el orden en que ha sido escrito.
  • Decisiรณn โ€“ este implica tomar una decisiรณn dada una serie de opciones. El cรณdigo ejecutado depende del valor de la condiciรณn.

Una estructura de control es un bloque de cรณdigo que decide la ruta de ejecuciรณn de un programa dependiendo del valor de la condiciรณn establecida.

Veamos ahora algunas de las estructuras de control que PHP soportes.

PHP SI mรกs

Si... entonces... otra cosa es la estructura de control mรกs simpleEvalรบa las condiciones utilizando lรณgica booleana.

Cuรกndo usarlo siโ€ฆ entoncesโ€ฆ mรกs

  • Tienes un bloque de cรณdigo que debe ejecutarse solo si una determinada condiciรณn es verdadera
  • Tienes dos opciones y debes seleccionar una.
  • Siโ€ฆ entoncesโ€ฆ si noโ€ฆ se usa cuando tienes que seleccionar mรกs de dos opciones y tienes que seleccionar una o mรกs

Sintaxis. La sintaxis para ifโ€ฆ thenโ€ฆ else es:

<?php
if (condition is true) {
    block one
} else {
    block two
}
?>

AQUร,

  • "si (la condiciรณn es verdadera)โ€ es la estructura de control
  • "bloque uno"Es el cรณdigo que se ejecutarรก si la condiciรณn es verdadera.
  • mรกs es el recurso alternativo si la condiciรณn es falsa
  • "bloque dos" es el bloque de cรณdigo ejecutado si la condiciรณn es falsa

Cรณmo funciona. El diagrama de flujo que se muestra a continuaciรณn ilustra cรณmo funciona la estructura de control ifโ€ฆ thenโ€ฆ else.

PHP SI mรกs

Veamos esto en acciรณn. El siguiente cรณdigo utiliza "si... entonces... si no" para determinar el valor mayor entre dos nรบmeros.

<?php

$first_number = 7;

$second_number = 21;

if ($first_number > $second_number){

echo "$first_number is greater than $second_number";

}else{

echo "$second_number is greater than $first_number";

}

?>

Salida:

21 is greater than 7

Caja de interruptor PHP

Cambiarโ€ฆ caso es similar a la siโ€ฆ entoncesโ€ฆ si noโ€ฆ estructura de control

Sรณlo ejecuta un solo bloque de cรณdigo dependiendo del valor de la condiciรณn.

Si no se cumple ninguna condiciรณn, se ejecuta el bloque de cรณdigo predeterminado.

Tiene la siguiente sintaxis bรกsica.

<?php
switch(condition){

case value:

// block of code to be executed

break;

case value2:

// block of code to be executed

break;

default:

// default block code

break;

}
?>

AQUร,

  • "cambiar(โ€ฆ){โ€ฆ}" es el cรณdigo del bloque de la estructura de control
  • โ€œvalor del caso: casoโ€ฆโ€ son los bloques de cรณdigo a ejecutar dependiendo del valor de la condiciรณn
  • "por defecto:" es el bloque de cรณdigo que se ejecutarรก cuando ningรบn valor coincida con la condiciรณn

Cรณmo Funciona

El diagrama de flujo que se muestra a continuaciรณn ilustra cรณmo funciona la estructura de control del interruptor.

Caja de interruptor PHP

Ejemplo prรกctico

El siguiente cรณdigo utiliza la estructura de control del interruptor para mostrar un mensaje segรบn el dรญa de la semana.

<?php

$today = "wednesday";

switch($today){

case "sunday":

echo "pray for us sinners.";

break;

case "wednesday":

echo "ladies night, take her out for dinner";

break;

case "saturday":

echo "take care as you go out tonight.";

break;

default:

echo "have a nice day at work";

break;

}

?>

Salida:

ladies night, take her out for dinner

Bucles PHP

Los bucles son estructuras de control que repiten un bloque de cรณdigo mientras una condiciรณn se cumpla. Te evitan tener que escribir la misma instrucciรณn muchas veces. PHP admite cuatro tipos de bucles: for, while, do-while y foreach. Para una explicaciรณn mรกs detallada, consulta la documentaciรณn dedicada. Tutorial de bucles PHP.

PHP para bucle

El bucle for se utiliza cuando se sabe de antemano cuรกntas veces debe ejecutarse el cรณdigo. Combina el contador, la condiciรณn y el incremento en una sola lรญnea.

<?php
for ($i = 0; $i < 5; $i++) {
    echo $i;
}
?>

Salida:

01234

Bucle while de PHP

El bucle while repite un bloque mientras su condiciรณn se mantenga verdadera. La condiciรณn se comprueba antes de cada iteraciรณn, por lo que el cuerpo del bucle puede no ejecutarse ninguna vez.

<?php
$i = 0;
while ($i < 5) {
    echo $i;
    $i++;
}
?>

Salida:

01234

Bucle do-while de PHP

El bucle do-while es similar al bucle while, pero comprueba la condiciรณn despuรฉs del cuerpo. Esto garantiza que el bloque se ejecute al menos una vez.

<?php
$i = 0;
do {
    echo $i;
    $i++;
} while ($i < 5);
?>

Salida:

01234

Bucle foreach de PHP

El bucle foreach estรก diseรฑado para arreglos. Recorre cada elemento sin que tengas que gestionar un contador de รญndices.

<?php
$colors = array("red", "green", "blue");
foreach ($colors as $color) {
    echo $color . " ";
}
?>

Salida:

red green blue

Preguntas Frecuentes

Utilice la estructura switch cuando compare una variable con varios valores fijos, ya que es mรกs fรกcil de leer que una larga cadena if-else. Utilice if-else para rangos, condiciones complejas o comparaciones que involucren diferentes variables.

break detiene el bucle por completo y pasa al cรณdigo siguiente. continue omite el resto de la iteraciรณn actual y salta a la siguiente, sin finalizar el bucle por completo.

match es una alternativa moderna a switch, introducida en PHP 8. Devuelve un valor, utiliza una comparaciรณn estricta, no necesita sentencias break y genera un error si no encuentra ninguna coincidencia, lo que la hace mรกs segura y concisa.

Sรญ. La IA puede reescribir una larga cadena if-else como una expresiรณn switch o match equivalente de PHP 8, mantenerping La lรณgica es idรฉntica, pero el cรณdigo es mรกs corto y fรกcil de leer. Prueba el resultado despuรฉs.

Sรญ. La IA puede inspeccionar la condiciรณn y el contador de tu bucle, detectar un incremento faltante o una condiciรณn que nunca se vuelve falsa, y sugerir la soluciรณn para que el bucle termine como se espera.

Resumir este post con: