Saltar la navegación

2.1.- Condicionales.

Imagen mostrando un bloque de sentencia if, else if y asignación de valores a variables
Nemti (Dominio público)

Las sentencias condicionales son sentencias que alteran el flujo de ejecución haciendo que se ejecute un bloque u otro según la evaluación de una determinada codición.

  • if / elseif / else. La sentencia if permite definir una expresión para ejecutar o no la sentencia o conjunto de sentencias siguiente. Si la expresión se evalúa a true (verdadero), la sentencia se ejecuta. Si se evalúa a false (falso), no se ejecutará.

    Cuando el resultado de la expresión sea false, puedes utilizar else para indicar una sentencia o grupo de sentencias a ejecutar en ese caso. Otra alternativa a else es utilizar elseif y escribir una nueva expresión que comenzará un nuevo condicional.

    <?php
        if ($a < $b)
            print "a es menor que b";
        elseif ($a > $b)
            print "a es mayor que b";
        else
            print "a es igual a b";
    ?>

    Cuando, como sucede en el ejemplo, la sentencia if elseif o else actúe sobre una única sentencia, no será necesario usar llaves. Tendrás que usar llaves para formar un conjunto de sentencias siempre que quieras que el condicional actúe sobre más de una sentencia.

  • switch. La sentencia switch es similar a enlazar varias sentencias if comparando una misma variable con diferentes valores. Cada valor va en una sentencia case. Cuando se encuentra una coincidencia, comienzan a ejecutarse las sentencias siguientes hasta que acaba el bloque switch, o hasta que se encuentra una sentencia break. Si no existe coincidencia con el valor de ningún case, se ejecutan las sentencias del bloque default, en caso de que exista.

    <?php
        switch ($a) {
            case 0:
                print "a vale 0";
                break;
             case 1:
                print "a vale 1";
                break;
            default:
                print "a no vale 0 ni 1";
        }
    ?>

Ejercicio resuelto

Carlos ha decidido hacer su primer programa, un taller mecánico les ha propuesto que le hagan una web que, en función del tipo de motor, recomiende un aceite u otra.

Haz una página que en función de la variable $motor que puede tomar los valores 1 (Gasolina), 2 (Diésel), 3 (Motocicleta), 4 (Eléctrico) nos muestre el tipo de motor, es decir si $motor=1 nos mostrará "El motor es de Gasolina". Hazlo de dos formas, con bucles if y con switch.

Autoevaluación

Pregunta

¿Siempre se puede sustituir una sentencia switch por otra sentencia o sentencias if?

Respuestas

No.

Sí.

Retroalimentación