jueves, 22 de marzo de 2012

Quinta Clase

Instrucciones Condicionales en PHP

Las sentencias condicionales nos permiten ejecutar o no unas ciertas instrucciones dependiendo del resultado de evaluar una condición.  Las más frecuentes son la función if y la función switch.

Si ha seguido este material ya estará familiarizado con las instrucción condicional if que he utilizado en muchos de los ejemplos, a continuación les dejo la sintaxis de la misma.

Sentencia if...else

<?php
if(condición) {
  Sentencias a ejecutar cuando la condición es cierta (verdadera)
} else {
  Sentencias a ejecutar cuando la condición es falsa
}

La sentencia if ejecuta una serie de instrucciones u utras dependiendo de la condición que le pongamos.  Probablemente sea la instrucción más importante en cualquier lenguaje de programación.  En el siguiente ejemplo la condición no es verdadera por lo que se ejecuta la parte de código correspondiente al else.

<html>
<head>
  <title>Ejemplo de PHP Condicional if </title>
</head>
<?
$a = 8;
$b = 3;
if($a < $b) {
  echo "$a es menor que $b";
} else {
  echo "$a no es menor que $b";
}
?>
</body>
</html>


Sentencia Condional switch


Con la sentencia condicional switch podemos ejecutar unas u otras instrucciones dependiendo del valor de una variable, en el ejemplo siguiente, dependiendo del valor de la variable $posicion se ejecuta el bloque 1 cuando el valor es "arriba", el bloque 2 cuando el valor es "abajo" y el bloque 3 si no es ninguno de los valores anteriores.


<html>
<head>
  <title>Ejemplo de PHP Condicional switch</title>
</head>
<?
$posicion = "arriba";
switch($posicion) {
  case "arriba": //Bloque 1
    echo "La variable contiene el valor arriba";
    break;
  case "abajo": //Bloque 2
    echo "La variable contiene el valor abajo";
    break;
  default:  //Bloque 3
    echo "La variable contiene otro valor distinto de arriba y abajo";
}

?>
</body>
</html>


En el siguiente programa se evalua la variable mes, a esta variable se le asignará el valor numérico que devolvera la función date() y dependiendo del valor, a la variable mes_texto se le asignará el mes en texto que corresponda, por ejemplo si el valor es 01, la variable mes_texto contendrá el valor enero.


<html>
<head>
  <title>Ejemplo de PHP Condicional switch</title>
</head>
<?
$mes = date('m');
switch($mes) {
  case "01":
    $mes_texto = "enero";
    break;
  case "02":
    $mes_texto = "febrero";
    break;
  case "03":
    $mes_texto = "marzo";
    break;
  case "04":
    $mes_texto = "abril";
    break;
  case "05":
    $mes_texto = "mayo";
    break;
  case "06":
    $mes_texto = "junio";
    break;
  case "07":
    $mes_texto = "julio";
    break;
  case "08":
    $mes_texto = "agosto";
    break;
  case "09":
    $mes_texto = "septiembre";
    break;
  case "10":
    $mes_texto = "octubre";
    break;
  case "11":
    $mes_texto = "noviembre";
    break;
  case "12":
    $mes_texto = "diciembre";
    break;
}
echo "Estamos en: $mes_texto";

?>
</body>
</html>

1 comentario:

  1. Una variante de esta sentencia seria elseif/else if que se utilizaria para evaluar varias condiciones dentro del mismo if. Ejempo:

    $b) {
    echo "a es mayor que b";
    } elseif ($a == $b) {
    echo "a es igual que b";
    } else {
    echo "a es menor que b";
    }
    ?>

    o asi:

    f($a > $b):
    echo $a." es mayor que ".$b;
    elseif($a == $b): // Tenga en cuenta la combinación de las palabras.
    echo $a." igual ".$b;
    else:
    echo $a." no es ni mayor que ni igual a ".$b;
    endif;

    Nota: Tengan en cuenta que elseif y else if serán considerados exactamente iguales sólamente cuando se utilizan corchetes como en el primer ejemplo. Al utilizar los dos puntos para definir las condiciones if/elseif, no debe separarse else if en dos palabras o PHP fallará con un error del interprete.

    ResponderEliminar