Sentencias alternativas y ciclos en PHP
¿QUE ES UNA SENTENCIA ALTERNATIVA? Las sentencias alternativas son aquellas que dirigen la ejecución de un programa hacia un grupo de sentencias u otro dependiendo del resultado de una condición.
SENTENCIA IF:
Esta sentencia de control permite ejecutar o no una sentencia simple o compuesta según
se cumpla o no una determinada condición. Veamos el siguiente ejemplo:
<?phpif ($a > $b) {
echo "a es mayor que b";
}?>
Este código lo que hará, es que cuando la variable $a sea mayor que la variable $b nos mostrara por pantalla el texto recogido en el echo “$n es menor que $a".
SENTENCIA IF/ELSE:
Esta sentencia permite realizar una bifurcación, ejecutando una parte u otra del programa según se cumpla o no una cierta condición. Veamos el siguiente ejemplo:
<?php
if ($a > $b) {
echo "a es mayor que b";
}
else {
echo "a NO es mayor que b";
}?>
En este programa, la sentencia else sólo es ejecutada si la expresión if es evaluada como
FALSE
y si hay algunas expresiones
elseif - sólo se ejecuta si también todas son evaluadas
como FALSE
SENTENCIA IF ELSEIF... ELSE MULTIPLE:
Esta sentencia permite realizar una ramificación múltiple (en realidad son bifurcaciones
sucesivas), ejecutando una entre varias partes del programa según se cumpla una entre varias
condiciones. Veamoslo mas claro en el siguiente ejemplo:
<?php
if ($a > $b) {
echo "a es mayor que b";
}
elseif ($a == $b) {
echo "a es igual que b";
}
else {
echo "a es menor que b";
}
?>
Puede haber varios elseif dentro de la misma
sentencia if. La primera
expresión elseif (si hay alguna) que se evalúe como
TRUE
sería ejecutada. En PHP también se puede
escribir 'else if' (en dos palabras) y el comportamiento sería idéntico
al de 'elseif' (en una sola palabra). El significado sintáctico
es ligeramente diferente (si se está familiarizado con C, este es el mismo
comportamiento) pero la conclusión es que ambos resultarían tener exactamente
el mismo comportamiento.La sentencia elseif es ejecutada solamente si la
expresión if precedente y cualquiera de las expresiones
elseif precedentes son evaluadas como
FALSE
, y la expresión
elseif actual se evalúa como
TRUE
.
¿QUE ES UN CICLO? Un ciclo o bucle es una sentencia que se realiza repetidas veces a un trozo aislado de código, hasta que la condición asignada a dicho bucle deje de cumplirse.
BUCLE WHILE:
Este bucle ejecuta repetidamente una sentencia o bloque de sentencias mientras se cumpla una determinada condición. Los bucles WHILE se utilizan cuando queremos que se repita una serie de instrucciones mientras que se cumpla una determinada condición que no sabemos cuándo dejará de cumplirse. Veamoslo mas claro en el siguiente ejemplo:
<?php
$i = 1;
while ($i <= 10) {
echo $i++; /* el valor presentado sería
$i antes del incremento
(post-incremento) */}
El significado de una sentencia while es simple. Le dice a PHP que ejecute las sentencias anidadas, tanto como la expresión while se evalúe como
TRUE
. El valor de la expresión es verificado
cada vez al inicio del bucle, por lo que incluso si este valor
cambia durante la ejecución de las sentencias anidadas, la ejecución
no se detendrá hasta el final de la iteración (cada vez que PHP ejecuta
las sentencias contenidas en el bucle es una iteración). A veces, si la
expresión while se evalúa como
FALSE
desde el principio, las sentencias
anidadas no se ejecutarán ni siquiera una vez.
En este ejemplo, nos mostraria los numeros del 1 al 10.BUCLE FOR:
Los bucles FOR se utilizan cuando queremos que se repita una serie de instrucciones un número determinado de veces. Así como los bucles WHILE se repiten mientras que se cumpla una determinada condición, los bucles FOR se repiten mientras que una variable no adquiera un
determinado valor. Así que, cada bucle FOR contiene una variable a la que llamaremos
VARIABLE DEL BUCLE FOR. Cuando se programa un bucle FOR, se escribe una primera instrucción con la que se dan los tres parámetros fundamentales del bucle FOR.
1º El VALOR INICIAL de la variable del bucle. Este será el valor que tendrá la variable la primera vez que ejecutan las instrucciones que se encuentran dentro del bucle.
2º El VALOR FINAL de la variable del bucle. Esta es la "condición de chequeo particular" de los bucles FOR. Mientras que la variable del bucle FOR sea MENOR O IGUAL al valor final, se ejecutarán las instrucciones que se encuentran dentro del bucle.
3º El PASO del bucle. Esta es una herramienta fundamental dentro del bucle FOR y que hace que sea muy diferente a un bucle WHILE. Y es que la variable del bucle MODIFICA SU VALOR AUTOMÁTICAMENTE POR CADA PASO DEL BUCLE. Y ¿cómo lo modifica? Pues lo modifica valiéndose del PASO, de forma que, por cada vez que se ejecutan las instrucciones que se encuentran dentro del bucle FOR, se incrementa AUTOMÁTICAMENTE la variable del bucle FOR un valor igual al PASO.
Veamoslo explicado en el siguiente ejemplo:
<?php
for ($i = 1; $i <= 10; $i++) {
echo $i;
}
Este ejemplo tambien muestra los numeros del 1 al 10, esta vez mediante un bucle FOR.
Ciclos postcondición:
Este ciclo es aquel que evalúa la condición al final, es decir, se
ejecutan las acciones y luego se comprueba el resultado y se seguirá
repitiendo la acción hasta que deje de cumplirse la condición. Veamoslo con el siguiente ejemplo:
<?php
$i = 0;
do {
echo $i;
}
while ($i > 0);
?>
El bucle de arriba se ejecutaría exactamente una sola vez, ya que después de la primera
iteración, cuando la expresión verdadera es verificada, se evalúa como
FALSE
($i no es mayor que 0) y termina la ejecución
del bucle.
Ciclos Iterativos:
<?php
$i = 0;
while ($i<=10) {
if ($i==6) {
break;
}
echo “$i”;
$i++;
}
?>
Contadores y acumuladores:
Un contadores es una variable de tipo numérico que se usa para contar el número de veces que se repite un ciclo. Este contador, es una variable cuyo valor se incrementa o decrementa en una
cantidad constante cada vez que se produce un determinado suceso o
acción. Se usan con la finalidad de contar sucesos o acciones internas
de un bucle.
Un acumulador es un registro donde se almacenan los resultados logicos y aritmeticos intermedios. Sin un registro acumulador, seria necesario escribir el resultado de cada calculo (una suma, resta, etc.) en la memoria primaria, tal vez para leerse y ser usado solo para la siguiente operacion. Acceder a la memoria primaria es mas lento que acceder a un registro acumulador, porque la tecnologia utilizada para la memoria primaria (que es mas grande, pero mas barata) es mas lenta.
0 comentarios:
Publicar un comentario