Desarrollo de aplicaciones Web. Estructuras de repetición (página 2)
Si se salió por llegar al final de
la cadena, la variable $i valdrá lo mismo que la longitud
en caracteres de esa cadena.
En el condicional simplemente se comprueba
si $i vale o no lo mismo que la longitud de la cadena, mostrando
los mensajes adecuados en cada caso.
Bucle do/while
Este tipo de bucle no difiere en exceso del
anterior.
La sintaxis es la siguiente:
do{ instruccion1; instruccion2; … } while (condición) |
La diferencia con respecto a los bucles
while es que este tipo de bucle evalúa la
condición al final con lo que, incluso siendo falsa
desde el principio, éste se ejecuta al menos una
vez.Todo lo explicado referente al bucle se aplica también al do…while, sin
embargo la principal diferencia con este es que el
do…while siempre ejecuta al menos la primera
iteración, mientras que en el while pudiera no
ejecutar ninguna iteración, esto ocurre si la
condición es falsa desde antes del inicio del
bucle.
Ejemplo01
Salida
5! es igual a: 120
Explicación
Claro que, si cambiamos la primera
instrucción por $i = 0 el bucle se ejecutará al
menos una vez, pues la condición se evalúa al
final, y dará la salida (errónea):
0! es igual a : 0
Reflexión:
Al programar un bucle es importante reflexionar por
un momento si nos conviene usar while o
do…while: ¿necesitamos que se evalúe
la condición antes de la primera iteración?
¿o el bucle debe entrar al menos una vez antes de
evaluar la condición?
Bucle for
PHP está provisto de otros tipos de bucle que
también resultan muy prácticos en determinadas
situaciones.El más popular de ellos es el bucle
for que, como para los casos anteriores, se encarga
de ejecutar las instrucciones entre llaves.La diferencia con los anteriores radica en
cómo se plantea la condición de
finalización del bucle.
La sintaxis es la siguiente:
for (inicialización; condición;
actualización)
{ instruccion1; instruccion2; …}
Descripción
1. Inicialización: Es una
expresión que ejecuta una sola vez al inicio y
predetermina el primer valor
inicial, mas comúnmente asignado a una variable
ejemplo:
:$i = 1;
2. Condición: Es una
expresión que se evalúa como falsa o verdadera,
si es falsa el bucle finaliza, en caso contrario el bucle
ejecuta la sentencia ejemplo:
:$i <= 5;
3. Actualización: Es una
expresión que modifica la expresión de
inicialización comúnmente en incremento o
decremento Ejemplo:
:$i += 1
Nota:
Observe que en esta ultima expresión no lleva
(;).
Explicación
Completada así la primera
iteración se vuelve a evaluar la segunda
expresión, y si esta es verdadera se ejecuta
nuevamente la sentencia, con esto se completa una segunda
iteración. Las iteraciones continúan hasta que
la segunda expresión sea evaluada a falso.En resumen estas expresiones son la
inicialización, donde se dá el valor
inicial a la variable de control
del bucle; la condición que inicia cada
iteración solo si es evaluada a verdadero; y el
actualización o paso que incrementa o
decrementa la variable de control al final de cada
iteración para garantizar que la condición
eventualmente evalúe a falso.
Script
Resultado
1
2
3
4
5
Ejemplo01
Para aclarar su funcionamiento vamos a
expresar el ejemplo de bucle while visto en el
capítulo anterior en forma de bucle
for:
Explicación
Las expresiones dentro del paréntesis definen
respectivamente:Inicialización de la variable. Valida para la
primera vuelta del bucle.Condición de evaluación a cada vuelta. Si es cierta,
el bucle continua.Acción a realizar al final de cada vuelta de
bucle.
Ejemplo02
Reflexión:
Bueno, ya sabemos como crear dos tipos
de bucles, los while (o do…while) y los
for.Aunque puedes hacer codificar programas que
hagan lo mismo con cualquiera de los bucles lo más
lógico sería usar bucles while cuando no
sabes el número de iteraciones que debes hacer (y la
condición es del tipo ($respuesta == "Si")), y bucles
for cuando si lo sabes (y la condición es del
tipo ($X <= 10)).
Bucle foreach
Este bucle, implementado en las
versiones de PHP4, nos ayuda a recorrer los
valores de un array lo cual puede resultar muy
útil por ejemplo para efectuar una lectura
rápida del mismo. Recordamos que un array es una
variable que guarda un conjunto de elementos (valores)
catalogados por claves.
La estructura
general es la siguiente:
Foreach ($array as $clave=>$valor) { instruccion1; instruccion2; …; } |
Un ejemplo práctico es la lectura
de un array lo cual podría hacerse del siguiente
modo:
Explicación:
Este script se encargaría de
mostrarnos por pantalla el contenido del array
$moneda.No resultaría mala idea crear
una función propia basada en este bucle que
nos permitiese visualizar arrays monodimensionales y
almacenarla en nuestra librería.Esta función podría ser
definida de esta forma:
Salir de un bucle:
Break y continue
Estas dos instrucciones se introducen
dentro de la estructura y nos sirven respectivamente para
escapar del bucle o saltar a la iteración
siguiente.Pueden resultarnos muy prácticas
en algunas situaciones.
Ejemplos
Aunque un bucle se termina cuando la
condición se evalúa a falsa hay ocasiones en
que necesitamos interumpir el bucle abruptamente.La instrucción break
(Español: Interrupción)
interrumpe inmediatamente la ejecución del bucle y el
control se pasa a la instrucción inmediatamente
posterior al while.Veamos este ejemplos usando
break:
Salida:
El primer múltiplo de 11 entre
50 y 100 es: 55
Operadores
Operadores de incremento
Sirven para aumentar o disminuir de una
unidad el valor de una variable
++$variable | Aumenta de 1 el valor de | ||
–$variable | Reduce de uno el valor de |
Operadores combinados
Una forma habitual de modificar el
valor de las variables
es mediante los operadores combinados:
$variable += 10 | Suma 10 a $variable | |
$variable -= 10 | Resta 10 a $variable | |
$variable .= | Concatena las cadenas $variable y |
Este tipo de expresiones no son
más que abreviaciones de otras formas más
clásicas: $variable += 10 es lo mismo que: $variable =
$variable+10
Aplicación del alumno
Mostrar la tabla de multiplicar del 2. Emplear el
for, luego el while y por último el
do/while.
Ing. Pablo Cesar Ttito C.
BLOGGER
http://www.solucionesphp.blogspot.com/
Envía tu comentario
Página anterior | Volver al principio del trabajo | Página siguiente |