Unidad 11. Avanzado: PHP. Estructuras de control (I)


Sentencia IF [ELSE]

La sentencia If evalúa una condición, expresada entre paréntesis ( ). Si esta se cumple, ejecuta el bloque de instrucciones que tiene entre llaves { }.

if (condición) {
   bloque de instrucciones;
}

También podemos indicar un bloque de instrucciones, con la palabra else, que se ejecutará si no se cumple la instrucción.

if (condición) {
   bloque de instrucciones si se cumple;
} else {
   bloque de instrucciones si nos e cumple;
}

Podemos poner varios elseif, con otras condiciones entre paréntesis. Se irán evaluando todas las condiciones hasta encontrar la primera cierta. Si una se cumple, se ejecutarán sólo esas instrucciones, aunque hubiesen otras condiciones ciertas. Si no se ha cumplido ninguna, se ejecutará el else si lo hay.

if (condición1) {
   bloque de instrucciones si se cumple condición1;
} elseif (condición2) {
   bloque de instrucciones si se cumple condición2;
} elseif (condición3) {
   bloque de instrucciones si se cumple condición3;
} elseif {
   bloque de instrucciones si no se ha cumplido ninguna;

}

Por ejemplo:

if ($nota >= 0 && $nota < 5) {
   return 'Suspenso';
} else ($nota >= 5 && $nota < 6) {
   return 'Suficiente';
} else ($nota >= 6 && $nota < 7) {
   return 'Bien';
} else ($nota >= 7 && $nota < 9) {
   return 'Notable';
} else ($nota >= 9 && $nota <= 10) {
   return 'Sobresaliente';
} else {
   return 'La nota no es válida. Tiene que estar entre 0 y 10';

}

Las sentencias If se pueden anidar, siempre que una quede completamente dentro de otra. Por ejemplo:

if (condición1) {
   if (condición2) {
      si se cumple condición 1 y condición2;
   } else {
      si se cumple condición 1 pero no condición2;
   }
} else {
   si no se cumple condición1
}

Cuando se emplea la sentencia If para asignar un valor a una variable, se suele utilizar la siguiente estructura, más compacta:

$variable = (condición) ? valor_si_se_cumple : valor_si_no;

Por ejemplo:

$calificacion = (nota < 5) ? 'Suspenso' : 'Aprobado';

   Inicio  Adelante




.