|
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>
|
|
Ejecutar
este Script |
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.
|