La programación exige en muchas ocasiones la repetición de acciones sucesivas
o la elección de una determinada secuencia y no de otra dependiendo de las
condiciones específicas de la ejecución.
Como ejemplo, podríamos hacer alusión a un script que ejecute una secuencia
diferente en función del día de la semana en el que nos encontramos.
Este tipo de acciones pueden ser llevadas a cabo gracias a una paleta de
instrucciones presentes en la mayoría de los lenguajes. En este capítulo
describiremos someramente algunas de ellas propuestas por PHP y que resultan de
evidente utilidad.
Para evitar el complicar el texto, nos limitaremos a introducir las más
importantes dejando de lado otras cuantas que podrán ser fácilmente asimilables
a partir de ejemplos prácticos.
Las condiciones if
Cuando queremos que el programa, llegado a un cierto punto, tome un camino
concreto en determinados casos y otro diferente si las condiciones de ejecución
difieren, nos servimos del conjunto de instrucciones if, else y elseif.
La estructura de base de este tipo de instrucciones es la siguiente:
|| if (condición)
{
Instrucción 1;
Instrucción 2;
...
}
else
{
Instrucción A;
Instrucción B;
...
} ||
Llegados a este punto, el programa verificará el cumplimiento o no de la
condición. Si la condición es cierta las instrucciones 1 y 2 serán ejecutadas.
De lo contrario (else), las instrucciones A y B serán llevadas a cabo.
Esta estructura de base puede complicarse un poco más si tenemos cuenta que no
necesariamente todo es blanco o negro y que muchas posibilidades pueden darse.
Es por ello que otras condiciones pueden plantearse dentro de la condición
principal. Hablamos por lo tanto de condiciones anidadas que tendrían una
estructura del siguiente tipo:
|| if (condición1)
{
Instrucción 1;
Instrucción 2;
...
}
else
{
if (condición2)
{
Instrucción A;
Instrucción B;
...
}
else
{
Instrucción X
...
}
} ||
De este modo podríamos introducir tantas condiciones como queramos dentro de una
condición principal.
De gran ayuda es la instrucción elseif que permite en una sola línea
introducir una condición adicional. Este tipo de instrucción simpifica
ligeramente la sintaxis que acabamos de ver:
||
||
|| if (condición1)
{
Instrucción 1;
Instrucción 2;
...
}
elseif (condición2)
{
Instrucción A;
Instrucción B;
...
}
else
{
Instrucción X
...
} ||
El uso de esta herramienta resultará claro con un poco de práctica. Pongamos un
ejemplo sencillo de utilización de condiciones. El siguiente programa permitiría
detectar la lengua empleada por el navegador y visualizar un mensaje en dicha
lengua.
|| <HTML>
<HEAD>
<TITLE>Detector de Lengua</TITLE>
</HEAD>
<BODY>
<?
Antes de nada introducimos mensajes en forma de variables
$espanol="Hola";
$ingles="Hello";
$frances="Bonjour";
Ahora leemos del navegador cuál es su lengua oficial
$idioma=substr($HTTP_ACCEPT_LANGUAGE,0,2);
Formulamos las posibilidades que se pueden dar
if ($idioma "es")
{echo "$espanol";}
elseif ($idioma
"fr")
{echo "$frances";}
else
{echo "$ingles";}
?>
</BODY>
</HTML> ||
Para poder ver el funcionamiento de este script es necesario cambiar el idioma
preferido lo cual puede ser realizado a partir del menú de opciones del
navegador.
Para leer la lengua aceptada por el navegador lo que hacemos es definir una
variable ($idioma) y, mediante la función substr, recogemos las
dos primeras letras del código correspondiente al idioma aceptado por el
navegador ($HTTP_ACCEPT_LANGUAGE).
La tercera parte de script se encarga de ver si el navegador está en español (es),
francés (fr) o en cualquier otro idioma que no sea ninguno de estos dos y de
imprimir el mensaje que proceda en cada caso.
A notar que, cuando se trata de comparar variables, ponemos un doble igual ""
en lugar de un simple "=". Este último queda reservado exclusivamente para
asignar valores a variables