Autor Tema: [Duda]Estructuras repetitivas  (Leído 313 veces)

Desconectado Supreme

  • PHPerit@
  • *
  • Mensajes: 11
  • Karma: 2
    • Ver Perfil
[Duda]Estructuras repetitivas
« en: 21 de Abril de 2010, 18:45:26 pm »
No entiendo muy bien este tema  >:(

Esta For y While

La estructura de For es la siguiente:

for([Inicialización de la variable];[Condición];[Incremento o decremento de la variable])
{
[Instrucciones];
}

Ahora como entiendo eso, para que puede servir? , googleando econtre un ejemplo:

Código: [Seleccionar]
<?php
$valor
=rand(1,100);
$inicio=1;
while(
$inicio<=$valor)
{
  echo 
$inicio;
  echo 
"<br>";
  
$inicio++;
}
?>


Al parecer muestra en pantalla los numeros del 1 hasta el 100 , pero como entendemos lo siguiente
Código: [Seleccionar]
for($f=1;$f<=100;$f++)
---

Lo siguiente es While

Al parecer es lo mismo, pero solo lo repeite hasta donde lo digas tu, luego continua ?? Su composicion es la siguiente:

{
[Instrucciones];
} while (condición);

Que  instruccione se le puede dar?






Comunidad PHPeros

[Duda]Estructuras repetitivas
« en: 21 de Abril de 2010, 18:45:26 pm »

Desconectado westwest

  • PHPero Master
  • ******
  • Mensajes: 2.837
  • Karma: 104
  • Sexo: Masculino
    • Ver Perfil
Re:[Duda]Estructuras repetitivas
« Respuesta #1 en: 21 de Abril de 2010, 20:15:06 pm »
El for se usa para recorrer una array a veces, usando:
for($i=0;$i<count($array);$i++) {
echo $array[$i]; // iria impirmiendo cada vez un elemento del array
}

Imagina que por X razón, queremos cortar caracteres de una cadena hasta el final, pero varía número de caracteres y tal, queremos guardar cosas en la db... podemos hacer

while(strlen($cadena) > 0) { // MIENTRAS la cadena tenga algun caracter
mysql_query(blabla);
$cadena = substr($cadena, -'.$blabla);
}

Conectado naveda

  • Administrador General
  • PHPero Master
  • *****
  • Mensajes: 2.282
  • Karma: 165
  • Sexo: Masculino
    • Ver Perfil
    • naveda.me
Re:[Duda]Estructuras repetitivas
« Respuesta #2 en: 21 de Abril de 2010, 23:11:39 pm »
Tu while no hace una iteracion de 1 a 100 sino de 1 a n, siendo n un numero aleatorio entre 1 y 100 que varía en cada ejecucion.

un bucle de 1 a 100 seria:

<?PHP

// Usando While (No lo recomiendo para bucles de 1 a n, para eso mejor for)
$i 1;
while (
$i <= 100)
{
   echo 
$i."<br />";
   
$i++;
}
unset(
$i); // Just for the show

// Usando la sentencia For
for ($i 1$i <= 100$i++)
{
   echo 
$i."<br />";
}
?>
« Última modificación: 21 de Abril de 2010, 23:15:38 pm por naveda »
Por favor, leete las Normas


Desconectado Supreme

  • PHPerit@
  • *
  • Mensajes: 11
  • Karma: 2
    • Ver Perfil
Re:[Duda]Estructuras repetitivas
« Respuesta #3 en: 21 de Abril de 2010, 23:21:46 pm »
Haber si lo tengo etendido, elige un numero aleatorio por ejemplo 34,  y lo va sumando hasta llegar a 100 ??


PD: Porque has puesto <br /> ??

Conectado naveda

  • Administrador General
  • PHPero Master
  • *****
  • Mensajes: 2.282
  • Karma: 165
  • Sexo: Masculino
    • Ver Perfil
    • naveda.me
Re:[Duda]Estructuras repetitivas
« Respuesta #4 en: 21 de Abril de 2010, 23:27:03 pm »
No, elige un numero entre 1 y 100 y en el bucle ese numero elegido aleatoriamente se convierte en el limite del bucle, es decir, segun tu ejemplo si fuese el 34, el bucle iría de 1 a 34 ;)

<br /> Es un salto de linea, para que no apareciera 123456789[...]100 y apareciera:
1
2
3
4
[...]
100
Por favor, leete las Normas