Manual de PHP: Estructuras de control

Estructuras de control PHP: IF ELSE

  • if…else

    La estructura if…else permite ejecutar un bloque de instrucciones si la condición es TRUE y otro bloque de instrucciones si es FALSE. Las estructuras if…else se pueden anidar. La sintaxis es:

    <?php
    if (condicion) {
        // este bloque se ejecuta si condicion es TRUE
    } else {
        // este boque se ejecuta si condicion es FALSE
    }
    ?>

    Ejemplo:

    <?php
    $a = 10;
    $b = 5;
    if ($a > $b) {
        echo $a." es mayor que ".$b;
    } else {
        echo $a." no es mayor que ".$b;
    }
    // mostrara "10 es mayor que 5"
    ?>

Estructuras de control PHP: IF ELSEIF ELSE

  • if…elseif…else

    La estructura if…elseif…else permite ejecutar varias condiciones if en cascada. La sintaxis es:

    <?php
    if (condicion1) {
        // este bloque se ejecuta si condicion1 es TRUE
    } elseif (condicion2) {
        // este boque se ejecuta si condicion1 es FALSE y condicion2 TRUE
    } else {
        // este boque se ejecuta si condicion1 y condicion2 son FALSE
    }
    ?>

    Ejemplo:

    <?php
    $nombre = "ana";
    if ($nombre == ""){
        echo "tu no tienes nombre";
    } elseif ($nombre == "eva") {
        echo "tu nombre es eva";
    } else {
        echo "tu nombre es ".$nombre;
    }
    // mostrara "tu nombre es ana"
    ?>

    Veamos por ejemplo un rotador de anunciantes:

    <?php
    // rotador de anunciantes porcentajes 20, 60, 20
     
    // generar un numero aleatorio entre 0 y 100 (inclusive)
    $random = rand(0,100);
     
    // seleccionar el anunciante segun el porcentaje deseado
    if (($random >= 0) AND ($random <= 20)) {
    ?>
     
        <!-- codigo HTML del anunciante 1 -->
     
    <?php
    } elseif (($random > 20) AND ($random <= 80)) {
    ?>
     
        <!-- codigo HTML del anunciante 2 -->
     
    <?php
    } else {
    ?>
     
        <!-- codigo HTML del anunciante 3 -->
     
    <?php
    }
    ?>

Estructuras de control PHP: WHILE

  • while

    La estructura while ejecuta un bloque de código mientras se cumpla una condición. El valor de la condición es comprobado cada vez al principio del bucle, de manera que PHP ejecutará el código repetidamente mientras la condición se evalúe como TRUE. Si la condición se evalúa como FALSE la primera vez el código no se ejecutará ni una sola vez. Podemos romper un ciclo while con la sentencia break. La sintaxis es:

    <?php
    while (condicion) {
        // este bloque se ejecuta mientras condicion sea TRUE
    }
    ?>

    Ejemplo:

    <?php
    $num = 1;
    while ($num < 5) {
        echo $num."<br />";
        if ($num == 3){
            echo "aqui nos salimos, hemos llegado a ".$num;
            break;
        }
        $num++;
    }
    // mostrara numeros del 1 al 3 inclusive
    ?>

Estructuras de control PHP: DO WHILE

  • do…while

    Esta estructura es similar a while, salvo que con do…while primero se ejecuta el bloque de código y después se evalúa la condición, por lo que el código siempre se ejecuta al menos una vez.

    <?php
    $num = 1;
    do {
        echo $num."<br />";
        if ($num == 3){
            echo "aqui nos salimos, hemos llegado a ".$num;
            break;
        }
        $num++;
    }
    while ($num < 5);
    // mostrara numeros del 1 al 3 inclusive
    ?>

Estructuras de control PHP: SWITCH CASE

  • switch…case…default

    Una alternativa a if…elseif…else es la estructura switch, la cuál evalúa y compara la variable de la condición con el valor de case: si encuentra una condición TRUE ejecuta ese bloque de código, al final del cual debemos colocar un break para que no siga buscando. Si llega al final de la lista case y no ha encontrado una condición TRUE ejecuta el código que haya en default. La sintaxis es:

    <?php
    switch ($variable) {
        case "valor1":
            // este boque se ejecuta si $variable == valor1
            break;
        case "valor2":
            // este boque se ejecuta si $variable == valor2
            break;
        default:
            // este boque se ejecuta si $variable != valor1 y valor2
    }
    ?>

    Ejemplo:

    <?php
    $usuario = "pepe";
    switch ($usuario) {
        case "juan":
            echo "el usuario es juan";
            break;
        case "luis":
            echo "el usuario es luis";
            break;
        case "miguel":
            echo "el usuario es miguel";
            break;
        default:
            echo "usted no es un usuario valido";
    }
    // mostrara "usted no es un usuario valido"
    ?>

    Si necesitamos un case OR haremos "falling through" prescindiendo de la sentencia break:

    <?php
    $usuario = "pepe";
    switch ($usuario) {
        case "juan":
        case "luis":
        case "pepe":
            echo "el usuario es juan, luis o pepe";
            break;
        case "miguel":
            echo "el usuario es miguel";
            break;
        default:
            echo "usted no es un usuario valido";
    }
    // mostrara "el usuario es juan, luis o pepe"
    ?>

Estructuras de control PHP: FOR

  • for

    La estructura for se utiliza para ejecutar un bloque de código con la condición de que una variable se encuentre entre un valor mínimo y otro máximo. La expresión expr1 se evalúa una vez al principio del bucle. Al comienzo de cada iteración se evalúa expr2: si es TRUE el bucle continúa y el código se ejecuta. Si es FALSE la ejecución del bucle finaliza. Al final de cada iteración se ejecuta expr3. El bucle se puede romper con break. La sintaxis es:

    <?php
    for (expr1; expr2; expr3) {
        // este boque se ejecuta si valor_min < $variable < valor_max
    }
    ?>

    Ejemplo:

    <?php
    for ($i = 1; $i <= 5; $i++){
        echo $i."<br />";
        if ($i == 3){
            echo "aqui nos salimos, hemos llegado a: ".$i;
            break;
        }
    }
    // mostrara numeros del 1 al 3 inclusive
    ?>

Estructuras de control PHP: FOREACH

  • foreach

    La estructura foreach permite iterar sobre matrices y recorrer sus elementos. Cuando foreach comienza su ejecución el puntero interno se reinicia al primer elemento de la matriz. En cada iteración el valor del elemento actual se asigna a $value, la clave a $key y el puntero avanza una unidad. La sintaxis es:

    <?php
    foreach($arr as $key => $value) {
        // este boque se ejecuta para cada elemento del array
    }
    ?>

    Por ejemplo, para recorrer todos los elementos de una matriz haremos:

    <?php
    $arr = array(1, 2, 3, 4);
    foreach ($arr as &$value) {
        echo $value."<br />";
    }
    // mostrara "1 2 3 4"
    ?>

    Para recorrer los elementos de una matriz de índice numérico haremos:

    <?php
    $arr = array("one", "two", "three");
    foreach($arr as $index => $value ) {
        echo '$a['.$index."] =  ".$value."<br />";
    }
    // mostrara "$a[0] = one $a[1] = two $a[2] = three"
    ?>

Recursos

Artículos en la categoría "Manual de PHP"

  1. Manual de PHP: Estructuras de control
  2. Manual de PHP: Funciones
  3. Manual de PHP: Objetos
  4. Manual de PHP: Formularios web
  5. Manual de PHP: Imágenes
  6. Manual de PHP: XML
  7. Manual de PHP: MySQL
  8. Manual de PHP: Sesiones
  9. Manual de PHP: Matrices
  10. Manual de PHP: Expresiones regulares
  11. Manual de PHP: Sanear datos de usuario
  12. Manual de PHP: Email
  13. Manual de PHP: Evitar el hotlinking de los buscadores