Do not speak Spanish? Read this post in English.

Martes, 28 d abril d 2009.

comprobar resultado de varias funciones seguidas en php

En ocasiones nos vemos en la necesidad de comprobar la coincidencia entre un valor y muchas posibilidades en php. Para eso se usa la conocida función switch: Esta función nos permite definir que acciones llevar a cabo en cada posible caso de coincidencia.

Por lo general usamos esta función para comprobar distintos posibles valores de una variable y lanzar distintas acciones dependiendo de cada caso:

<?php
switch ($posibilidades)
{
    case 1:
        echo "estamos en el caso 1";
        break;
    case 2:
        echo "estamos en el caso 2";
        break;
    default:
        echo "estamos en un caso distinto";
}
?>

Pero switch actualmente ya no está limitado a comprobar variables sino que puede comprobar expresiones o incluso valores directamente definidos. Además, los distintos casos tampoco están restringidos a valores concretos y en ellos podemos hacer comparaciones o llamadas a funciones.

Para el caso que nos ocupa, en ocasiones nos encontramos con que nuestras posibilidades a comprobar pasan por varias llamadas a distintas funciones en las que sólo queremos comprobar cual de ellas devuelve un valor específico que será el que nos indique las acciones a tomar. Para estos casos switch también puede ayudarnos.

Pondré el ejemplo de wordpress con sus famosas funciones condicionales. Imaginemos que lo que queremos es comprobar si estamos en la home, en una categoría, en un tag, o en un post para mostrar un mensaje... solo debemos ver cual de esas funciones nos devuelve "true":

<?php
switch ( true )
{
    case is_home():
        echo "estamos en la home";
        break;
    case is_category():
        echo "estamos en una categoría";
        break;
    case is_tag():
        echo "estamos en un tag";
        break;
    case is_single():
        echo "estamos en un post";
        break;
    default:
        echo "no estamos...";
}
?>

Claro y útil, ¿no?

El problema de esta estructura es que no es la forma común de hacer las cosas y por lo tanto para el trabajo en equipos que comparten código no es lo más aconsejado.

Temas Relacionados: programacion

Autor:

Anímate y deja tu comentario

Esto son experimentos, no preguntes ;) prueba metadescription Juego Prueba title Seo

render4