Foros del Web » Programando para Internet » PHP »

hacer random en un array

Estas en el tema de hacer random en un array en el foro de PHP en Foros del Web. hola amigos bueno tengo un problema primero quiero meter una consulta en un array y de ahi hacer un aleatorio con todos los datos que ...
  #1 (permalink)  
Antiguo 17/01/2009, 22:06
 
Fecha de Ingreso: noviembre-2003
Ubicación: Puente de ixtla
Mensajes: 773
Antigüedad: 20 años, 5 meses
Puntos: 0
Exclamación hacer random en un array

hola amigos bueno tengo un problema primero quiero meter una consulta en un array y de ahi hacer un aleatorio con todos los datos que esten dentro gracias espero que me ayuden
__________________
°º¤ø,¸¸,ø¤º°`°º¤ø,¸S@M°º¤ø,¸¸,ø¤º°`°º¤ø,¸.
Dios solo nos dio el 0 y el 1 y con solo eso hemos construido un universo
  #2 (permalink)  
Antiguo 17/01/2009, 22:10
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: hacer random en un array

lee el manual de PHP

ahí esta array_rand()


suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 17/01/2009, 22:12
 
Fecha de Ingreso: noviembre-2003
Ubicación: Puente de ixtla
Mensajes: 773
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: hacer random en un array

mmm pero como lleno el array con una consulta de la bd
__________________
°º¤ø,¸¸,ø¤º°`°º¤ø,¸S@M°º¤ø,¸¸,ø¤º°`°º¤ø,¸.
Dios solo nos dio el 0 y el 1 y con solo eso hemos construido un universo
  #4 (permalink)  
Antiguo 17/01/2009, 22:13
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: hacer random en un array


Código PHP:
while ($row mysql_fetch_algo($result))
{
  
$array[] = $row;
}

print_r(array_rand($array)); 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 17/01/2009, 22:18
 
Fecha de Ingreso: noviembre-2003
Ubicación: Puente de ixtla
Mensajes: 773
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: hacer random en un array

mmm por ejemplo si quiero hacer un random con distintos campos de la fila seria mas o menos de esta manera?

$array[] = $row['nombre'];
$claves_aleatorias= array_rand($array,4);
$array2[] = $row['apellido'];
$claves_aleatorias2= array_rand($array2,4);

asi podria ser?
__________________
°º¤ø,¸¸,ø¤º°`°º¤ø,¸S@M°º¤ø,¸¸,ø¤º°`°º¤ø,¸.
Dios solo nos dio el 0 y el 1 y con solo eso hemos construido un universo
  #6 (permalink)  
Antiguo 17/01/2009, 22:20
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: hacer random en un array

claro que se puede... ¿no lo has experimentado??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 17/01/2009, 22:21
 
Fecha de Ingreso: noviembre-2003
Ubicación: Puente de ixtla
Mensajes: 773
Antigüedad: 20 años, 5 meses
Puntos: 0
en eso estoy esque ando viendo algunos ejemplos

y esta funcion no entendi bien para que funciona shuffle()
__________________
°º¤ø,¸¸,ø¤º°`°º¤ø,¸S@M°º¤ø,¸¸,ø¤º°`°º¤ø,¸.
Dios solo nos dio el 0 y el 1 y con solo eso hemos construido un universo

Última edición por GatorV; 18/01/2009 a las 18:03
  #8 (permalink)  
Antiguo 17/01/2009, 22:23
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: hacer random en un array

Cita:
Iniciado por Ixtleco Ver Mensaje
y esta funcion no entendi bien para que funciona shuffle()
por que no lees el manual???

http://php.net/shuffle
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 17/01/2009, 22:25
 
Fecha de Ingreso: noviembre-2003
Ubicación: Puente de ixtla
Mensajes: 773
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: hacer random en un array

de hecho estoy viendo en php.net pero como te dije que no entendi muy bien
__________________
°º¤ø,¸¸,ø¤º°`°º¤ø,¸S@M°º¤ø,¸¸,ø¤º°`°º¤ø,¸.
Dios solo nos dio el 0 y el 1 y con solo eso hemos construido un universo
  #10 (permalink)  
Antiguo 17/01/2009, 22:27
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: hacer random en un array

Shuffle significa barajar, desordenar, etc. Es eso mismo lo que hace con el array que le pases, lo desordena aleatoriamente.
  #11 (permalink)  
Antiguo 17/01/2009, 22:59
 
Fecha de Ingreso: noviembre-2003
Ubicación: Puente de ixtla
Mensajes: 773
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: hacer random en un array

mmm ha orale, estyuve tratando de hacer algunas preuvas con shuffle pero no me sale no podran darme un ejemplo please
__________________
°º¤ø,¸¸,ø¤º°`°º¤ø,¸S@M°º¤ø,¸¸,ø¤º°`°º¤ø,¸.
Dios solo nos dio el 0 y el 1 y con solo eso hemos construido un universo
  #12 (permalink)  
Antiguo 17/01/2009, 23:07
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: hacer random en un array

Código PHP:
<?php
$array 
= array(1,2,3,4,5,6);
shuffle($array);
print_r($array);
?>
  #13 (permalink)  
Antiguo 17/01/2009, 23:10
 
Fecha de Ingreso: noviembre-2003
Ubicación: Puente de ixtla
Mensajes: 773
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: hacer random en un array

mm mira lo que hace esto

Array ( [0] => 1 [1] => 3 [2] => 4 [3] => 5 [4] => 2 [5] => 6 )
__________________
°º¤ø,¸¸,ø¤º°`°º¤ø,¸S@M°º¤ø,¸¸,ø¤º°`°º¤ø,¸.
Dios solo nos dio el 0 y el 1 y con solo eso hemos construido un universo
  #14 (permalink)  
Antiguo 18/01/2009, 02:47
Avatar de yeudiel  
Fecha de Ingreso: abril-2008
Ubicación: Ciudad de México
Mensajes: 78
Antigüedad: 16 años
Puntos: 1
Respuesta: hacer random en un array

Si lo que quieres es hacer un random de un select tambies puedes usar ORDER BY RAND() en tu consulta MySQL. Te quedaria mas o menos asi:
Código PHP:
$result=mysql_query("SELECT * FROM cositas ORDER BY RAND()"); 
y asi el mysql_fetch_array() estara desordenado, y por lo tanto te mostrara registros al azar.
  #15 (permalink)  
Antiguo 18/01/2009, 14:11
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: hacer random en un array

Cita:
mm mira lo que hace esto

Array ( [0] => 1 [1] => 3 [2] => 4 [3] => 5 [4] => 2 [5] => 6 )
Pues eso es lo que le he dicho al codigo que haga, que "baraje" el array y que luego lo imprima con print_r.

Código PHP:
<?php
$array 
= array(1,2,3,4,5,6);
shuffle($array);
print_r($array);
?>
  #16 (permalink)  
Antiguo 18/01/2009, 14:32
 
Fecha de Ingreso: noviembre-2003
Ubicación: Puente de ixtla
Mensajes: 773
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: hacer random en un array

mmm pero ahi no se muestra que le haya hecho algo porque no los reordeno simplemente me imprimio el array tal y como esta
__________________
°º¤ø,¸¸,ø¤º°`°º¤ø,¸S@M°º¤ø,¸¸,ø¤º°`°º¤ø,¸.
Dios solo nos dio el 0 y el 1 y con solo eso hemos construido un universo
  #17 (permalink)  
Antiguo 18/01/2009, 20:14
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: hacer random en un array

... Si, si lo reordeno.

Array ( [0] => 1 [1] => 3 [2] => 4 [3] => 5 [4] => 2 [5] => 6 )

No te fijes en los indices [indice]. Fijate en lo que esta despues de =>, aparece: 1, 3, 4, 5, 2, 6. Lo "barajo", o no?
  #18 (permalink)  
Antiguo 19/01/2009, 01:20
 
Fecha de Ingreso: noviembre-2003
Ubicación: Puente de ixtla
Mensajes: 773
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: hacer random en un array

mmm pues si si barajo
__________________
°º¤ø,¸¸,ø¤º°`°º¤ø,¸S@M°º¤ø,¸¸,ø¤º°`°º¤ø,¸.
Dios solo nos dio el 0 y el 1 y con solo eso hemos construido un universo
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 17:28.