sábado, 8 de agosto de 2009

Segundos Pasos

Bueno amig@s, estoy aquí para publicar la continuación de la primera publicación. Hoy me gustaría hablarles de los bloques de repeticion, ciclos o como quieran llamarlos.

FOR
Este tipo de bloque se utiliza cuando conocemos el límite o cantidad de ciclos que ejecutaremos, esto es, en la mayoría de los casos claro, hay excepciones, pero como esto es con fines de aprendizaje solo resumiré en eso.

un ejemplo sería este:
<?php
//ejemplo de uso del ciclo for
$limite = 100; //limite
for($indice=0;$indice<$limite;$i++)
{
echo "Imprimiendo el indice: ".$indice."\n
"
;
}

?>


como podran ver el bloque for consta de 3 sentencias en una, la primera, es la inicializacion de indice en 1, la siguiente es la condicion de permanencia es decir mientras el indice sea menor al limite, y por ultimo la sentencia de autoincremento.

es posible hacer un 'bucle infinito' escribiendo la sentencia

<?php
$indice=0;
for(;;)
{
//este ciclo se ejecutara de forma infinita si no se interrumpe
if($indice < 100)
{
echo "valor del indice ".$indice;
}elseif($indice == 100)
{
$indice++;
continue; //sin ese autincremento la sentencia nunca acabaria
//pues el continue termina el ciclo actual pero no
//el resto de los ciclos

}else
{
break;
//este break; hace que se termine el bloque 'for'
}
$indice++; //esta sentencia se ejecutara casi todas las veces menos
//cuando valga cien y cuando esté por encima de los cien
}

?>
pueden profundizar más el conocimiento de break, visitando el siguiente enlace
utilize también la sentencia continue, la cual tambien pueden profundizar en este sitio
WHILE
La sentencia while es una de las mas simples, solo necesita una condición de verdad para mantenerse dentro y continuar ejecutandose, si no es verdadera se sale o directamente no se ejecuta su contenido y se pasa a la siguiente sentencia.

veamos un ejemplo:

<?php
$indice=0;
while($indice <= 100)
{
echo "valor de indice: $indice";
//como veran, el valor de $indice esta dentro de la cadena
//esto es posible con php, solo asegurense de usar
//comillas dobles ""
$indice++;
}

?>

FOREACH
Esta es una de las sentencias que mas se usa para recorrer arreglos, o por lo menos para no generalizar tanto la que mas usaria yo. Es una sentencia bastante sencilla que simplifica bastante el recorrido de arreglos.

Veamos un ejemplo:

<?php
for($indice=0;$indice < 100; $indice++)
{
$my_arreglo[$indice+10] = $indice * $indice;
//con esto guardamos el valor de $indice al cuadrado
//en la posicion donde este $indice
$my_otro_arreglo[] = $indice + $indice;
$ultimo_arreglo["una_cadena".$indice] = $indice / 100;
}
/*
como veran creamos tres arreglos, el primero empezara
en el valor numero 10, con lo que indicamos que no existe
una restriccion que nos obligue a comenzar en el cero
como lo haria otro lenguaje,
tambien tenemmos al segundo, al poner de esta forma []
indicamos que el arreglo se iniciara en el valor cero, y los
indices siguientes seran el anterior mas uno, pero podemos hacer
que empiecen donde queramos por ej, podriamos hacer
$mi_otro_arreglo[7] = 10;
y en la siguiente linea ejecutar
$mi_otro_arreglo[] = 11;
con lo que el siguiente indice seria de valor 11
y por ultimo tenemos un arreglo con indice del tipo hash, que
tiene una cadena dentro que consiste de las palabras 'una_cadena'
concatenado con el valor del indice
*/

//a continuacion procedermos a recorrer cada uno de los ciclos
foreach($my_arreglo as $valor_individual)
{
//imprimiremos valor individual que en ese momento posee
//el valor en el que este situado el indice de la estructura
//foreach
echo "valor actual: ".$valor_individual;
}

//y ahora recorreremos el ultimo arreglo ya que el segundo seria
//practicamente lo mismo
foreach($ultimo_arreglo as $key => $value)
{
echo "el indice actual es: ".$key;
echo "y su valor es: ".$value;
}
?>

Bueno, creo que con esto termino la publicación del dia de hoy. Espero les haya gustado y si tienen algun comentario, serán leidos y si encuentran algun error, señalenmelos y será corregido.

3 comentarios:

  1. la documetacion esta supewr..Tus comentariois lo que no se visualizan bien..No podrias mejorar eso..porque se tiene que mover o muchas veces sigue la documentacion y se salta..
    Pero en general super bien..
    Sigue asi..
    No quisieras que hagas de esto un pdf..avisame y te ayudoo..estamos en contacto..exitos..

    ResponderEliminar
  2. ah..lo que me olvidaba..se nota que mucho no usas el do while..ejjeje...podrias mencionarlo como un enlace o un ejemplo sencillo.. Asi es una documentacion mas o menos completa para un usuario que quiere documentacion rapida y quiere aprender las cosas que mas podria usar..saludos

    ResponderEliminar
  3. Hola! que tal!
    en la parte del FOREACH, cuando se explica lo siguiente:
    "que empiecen donde queramos por ej, podriamos hacer
    $mi_otro_arreglo[7] = 10;
    y en la siguiente linea ejecutar
    $mi_otro_arreglo[] = 11;
    con lo que el siguiente indice seria de valor 11"

    el valor del indice no deberia ser 8 en vez de 11?
    Saludos!

    ResponderEliminar