Foros del Web » Programando para Internet » PHP »

necesito hacer un bucle

Estas en el tema de necesito hacer un bucle en el foro de PHP en Foros del Web. En un archivo de texto que se llama lista.txt tengo almacenado valores como: roberto jorge pedro y al abrirlos con la sentencia: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código ...
  #1 (permalink)  
Antiguo 13/06/2012, 10:17
 
Fecha de Ingreso: abril-2005
Mensajes: 253
Antigüedad: 19 años, 7 meses
Puntos: 0
necesito hacer un bucle

En un archivo de texto que se llama lista.txt tengo almacenado valores como:
roberto
jorge
pedro

y al abrirlos con la sentencia:
Código PHP:
Ver original
  1. $archivo = file_get_contents("lista.txt");
todos los valores que tengo en el archivo de texto lista.txt los mete en la variable $archivo.
Lo cual me imagino que al hacer esto la convierte en variable array.

Entonces lo que quiero hacer con esto es sustituirlo con la funcion sustr por:
1
2
3
4
5
6

Entonces necesito hacer un bucle que recorra la variable $archivo que tiene los valores de lista.txt para que vaya sacando uno por uno y asi sustituirlo por el numero que le vaya tocando al azar.
ejemplo sale:
roberto y le toca el 1
y sale jorge y le toca el 2
y sale pedro le toca 3
vuelve a salir roberto pero esta ves le toca el 4.
....
y asi sucesivamente

Espero y me hayan entendido muchas gracias por regalarme un poco de su tiempo.

Es como si tuviera 6 manzanas y las vaya repartiendo una por una
__________________
:cool: aprendiz :cool:
  #2 (permalink)  
Antiguo 13/06/2012, 10:30
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 6 meses
Puntos: 528
Respuesta: necesito hacer un bucle

Cita:
todos los valores que tengo en el archivo de texto lista.txt los mete en la variable $archivo.
Lo cual me imagino que al hacer esto la convierte en variable array.
Nop, file_get_contents lo que hace es tomar el contenido del archivo como una sola cadena de texto, si quieres convertirlo en un array tienes dos opciones, o leer linea por linea, o una vez que tienes la cadena completa como en tu ejemplo, partir por los saltos de línea.

Y no me queda muy claro lo de la repartición, cuando dices que toca un número al azar sin embargo es consecutivo.

Si ejemplificas con código cómo están tus mazanas sería mas sencillo. Pero imagino que con tener un bucle que recorra la cantidad de elementos a repartir con otro dentro que recorra la lista de personas saldría.
  #3 (permalink)  
Antiguo 13/06/2012, 11:58
Avatar de fjrueda  
Fecha de Ingreso: marzo-2008
Ubicación: Bucaramanga
Mensajes: 313
Antigüedad: 16 años, 8 meses
Puntos: 35
Respuesta: necesito hacer un bucle

towi62 .....

Cuando tenga su archivo plano(txt) separe cada nombre con un simbolo ya sea "," o "|" y de esa forma ya puede ir creando su array usando la funcion "explode" con los nombres, Lo mismo hace con los numeros y cuando recorra los array los hace con el metodo "array_rand" de php, asi puede imprimir los valores de forma desornada.

Intentelo y nos cuenta.
  #4 (permalink)  
Antiguo 13/06/2012, 16:43
 
Fecha de Ingreso: abril-2005
Mensajes: 253
Antigüedad: 19 años, 7 meses
Puntos: 0
Respuesta: necesito hacer un bucle

Muchas grasias por la ayuda, con lo que me dijieron ya modifique un poco mas el codigo y hasta le puse un bucle.
Este es mi codigo con el bucle:

Código PHP:
Ver original
  1. <?php
  2.  
  3.  
  4.  //Con esto tengo un arreglo donde cada elemento es una línea.
  5.  $archivo = file_get_contents("lista.txt");
  6.  
  7.  //separar cada elemento con explode que esta dentro de la variable $archivo
  8.  $archivo=explode(",",$archivo);
  9.  
  10.  
  11. //aca esta el bucle para que me muestre el array $archivo.
  12. $i=0;
  13. while ($i < count ($archivo) ) {
  14.     echo $archivo[$i];
  15.     echo '<br />';
  16.     $i++;
  17. }
  18.  
  19. ?>

Pero me falta modificar un poco mas el bucle para que me muestre la persona que quiero y no las demás personas.
Ejemplo en la variable $i que aparece al principio del bucle tiene valor 0. y me muestra:
roberto,
jorge,
pedro,

y si le pongo el numero 1 a la variable $i que aparece al pricinpio del bucle:
quita roberto y me aparecen los otros 2, ejemplo:
jorge,
pedro,

Cuando quiero que nada mas me me muestre:
jorge,
y no:
pedro,
__________________
:cool: aprendiz :cool:
  #5 (permalink)  
Antiguo 13/06/2012, 18:08
Avatar de fjrueda  
Fecha de Ingreso: marzo-2008
Ubicación: Bucaramanga
Mensajes: 313
Antigüedad: 16 años, 8 meses
Puntos: 35
Respuesta: necesito hacer un bucle

towi62 ...

Bien por intentarlo.

lo que pasa esque el while con el "Count" le va a mostrar todos los valores siempre, pero usted dijo que eso era lo que queria, para escoger una persona en particular no tiene que hacer el "while", vastaria con $archivo[1].

O no le entendi bien ....
  #6 (permalink)  
Antiguo 13/06/2012, 18:25
 
Fecha de Ingreso: abril-2005
Mensajes: 253
Antigüedad: 19 años, 7 meses
Puntos: 0
Respuesta: necesito hacer un bucle

Cita:
Iniciado por fjrueda Ver Mensaje
towi62 ...

Bien por intentarlo.

lo que pasa esque el while con el "Count" le va a mostrar todos los valores siempre, pero usted dijo que eso era lo que queria, para escoger una persona en particular no tiene que hacer el "while", vastaria con $archivo[1].

O no le entendi bien ....
Si en eso tienes razón, si le pongo $archivo[1] me va a mostrar roberto que es el primero y si le pongo $archivo[2] me va a mostrar jorge que es el segundo.
Pero pues lo que yo quiero es hacer un bucle para que me vaya recorriendo según el lugar que vaya escogiendo.
por ejemplo si dijeras primero tu, luego tu y finalmente tu.
No todos juntos a la vez.
__________________
:cool: aprendiz :cool:
  #7 (permalink)  
Antiguo 13/06/2012, 18:30
Avatar de fjrueda  
Fecha de Ingreso: marzo-2008
Ubicación: Bucaramanga
Mensajes: 313
Antigüedad: 16 años, 8 meses
Puntos: 35
Respuesta: necesito hacer un bucle

Towie, no capto la idea ....

Como es que piensa escogerlos si lo esta leyendo de un plano ??,

1=FJ
2=FJ
3=FJ

¿¿ '_' ??
  #8 (permalink)  
Antiguo 13/06/2012, 18:46
 
Fecha de Ingreso: abril-2005
Mensajes: 253
Antigüedad: 19 años, 7 meses
Puntos: 0
Respuesta: necesito hacer un bucle

Cita:
Iniciado por fjrueda Ver Mensaje
Towie, no capto la idea ....

Como es que piensa escogerlos si lo esta leyendo de un plano ??,

1=FJ
2=FJ
3=FJ

¿¿ '_' ??

Amigo ya no es plano, porque con la funcion explode lo converti en array y lo meti dentro de la variable $archivo.
Y ademas estuve jugando un poco con el bucle como te dije le iva poniendo 1 y 2 y 3 en la variable $i y me iva mostrando diferente resultados solamente falta acomodar un poco ese bucle para que me seleccione el lugar que yo quiero.
ejemplo si quiero que me seleccione jorge me seleccione jorge y no los demas.
__________________
:cool: aprendiz :cool:
  #9 (permalink)  
Antiguo 13/06/2012, 22:09
 
Fecha de Ingreso: abril-2005
Mensajes: 253
Antigüedad: 19 años, 7 meses
Puntos: 0
Respuesta: necesito hacer un bucle

ya di con el problema que tengo es que necesito hacer un contador para que lo que se vaya contando se vaya metiendo en una variable ponerla como valor del array:

ejemplo:
Código PHP:
Ver original
  1. //aqui necesito hacer un contador segun los clicks que se vayan dando en el boton bueno.
  2. $a="1";
  3. echo  $archivo[$a] ;
__________________
:cool: aprendiz :cool:
  #10 (permalink)  
Antiguo 15/06/2012, 08:31
 
Fecha de Ingreso: abril-2005
Mensajes: 253
Antigüedad: 19 años, 7 meses
Puntos: 0
Respuesta: necesito hacer un bucle

pues he optado por ponerle un rand que genere numero aleatorio, pero pues ahora el problema es como arreglar para que si me toma jorge no me vuelva a tomar jorge sino que tome otro nombre.
esta es la parte del rand.

Código PHP:
Ver original
  1. //Con la funcion rand le decimos desde que numero va a comenzar el numero aleatorio que es 1 y en donde va a terminar.
  2. $numero = rand(0,2);
  3.  
  4.  
  5.  
  6. //en la variable $a meto el numero aleatorio y en el array archivo escojo que nombre quiero mandar.
  7. $a="$numero";
  8. echo $archivo[$a] ;
__________________
:cool: aprendiz :cool:
  #11 (permalink)  
Antiguo 15/06/2012, 11:02
Avatar de fjrueda  
Fecha de Ingreso: marzo-2008
Ubicación: Bucaramanga
Mensajes: 313
Antigüedad: 16 años, 8 meses
Puntos: 35
Respuesta: necesito hacer un bucle

Towi62.

Puede hacerlo manejando dos variables, una nueva y una vieja (manejo de banderas), compare la nueva con la vieja, si son iguales no imprime y pasa al siguiente, si son diferentes imprima la nueva he iguale la con la antigua.
  #12 (permalink)  
Antiguo 15/06/2012, 11:35
 
Fecha de Ingreso: abril-2005
Mensajes: 253
Antigüedad: 19 años, 7 meses
Puntos: 0
Respuesta: necesito hacer un bucle

Cita:
Iniciado por fjrueda Ver Mensaje
Towi62.

Puede hacerlo manejando dos variables, una nueva y una vieja (manejo de banderas), compare la nueva con la vieja, si son iguales no imprime y pasa al siguiente, si son diferentes imprima la nueva he iguale la con la antigua.
si maso menos me oriento pero no se como hacerlo alguna idea.
__________________
:cool: aprendiz :cool:

Etiquetas: bucle, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:19.