Foros del Web » Programando para Internet » PHP »

4 números aleatorios de un arreglo

Estas en el tema de 4 números aleatorios de un arreglo en el foro de PHP en Foros del Web. necesito una función de php que me genere 4 números aleatorios dado un arreglo o vector. Yo he utilizado rand para generar un numero aleatorio ...
  #1 (permalink)  
Antiguo 22/04/2006, 12:41
 
Fecha de Ingreso: noviembre-2005
Ubicación: venezulea
Mensajes: 214
Antigüedad: 18 años, 5 meses
Puntos: 0
4 números aleatorios de un arreglo

necesito una función de php que me genere 4 números aleatorios dado un arreglo o vector.
Yo he utilizado rand para generar un numero aleatorio de un arreglo. Pero en este caso necesito que sean 4 números aleatorios del vector.

Agradecería su ayuda!!!!!!!
  #2 (permalink)  
Antiguo 22/04/2006, 12:47
 
Fecha de Ingreso: abril-2005
Mensajes: 287
Antigüedad: 19 años
Puntos: 0
No te entiendo bien.Lo que quieres hacer es sacar 4 numeros aleatoriamente de un array que está compuesto por números??Es decir,supón que tienes un array con 20 números y de esos 20 números quieres obtener 4 de manera aleatoria.Es eso??
  #3 (permalink)  
Antiguo 22/04/2006, 12:51
 
Fecha de Ingreso: noviembre-2005
Ubicación: venezulea
Mensajes: 214
Antigüedad: 18 años, 5 meses
Puntos: 0
si es eso, me entendiste bien!!!
  #4 (permalink)  
Antiguo 22/04/2006, 13:05
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola ostayde

En este otro mensaje preguntaron algo parecido:

http://www.forosdelweb.com/f18/selecion-aleatoria-array-387653/

Saludos,
  #5 (permalink)  
Antiguo 22/04/2006, 13:10
 
Fecha de Ingreso: abril-2005
Mensajes: 287
Antigüedad: 19 años
Puntos: 0
JavierB te ha puesto un enlace a algo aprecido,pero te voy a poner el código exacto por si tienes problemas:
Código PHP:
<?php
$i
=0;
while(
$i<4)
{
shuffle($tuarray);
$valor=array_pop($tuarray);
echo 
$valor."<br>";
$i++;
}
suerte!!

Última edición por robandrox; 23/04/2006 a las 04:00
  #6 (permalink)  
Antiguo 22/04/2006, 23:09
Avatar de uamistad  
Fecha de Ingreso: diciembre-2004
Ubicación: Cd. de México
Mensajes: 1.395
Antigüedad: 19 años, 4 meses
Puntos: 1
Cita:
Iniciado por robandrox
JavierB te ha puesto un enlace a algo aprecido,pero te voy a poner el código exacto por si tienes problemas:
Código PHP:
<?php
$i
=0;
while(
$i<4)
{
shuffle($tuarray);
$valor=array_pop($array);
echo 
$valor."<br>";
$i++;
}
suerte!!
Ese código funciona bien, pero existe la posibilidad de que al seleccionar 4 números del array, se obtengan repetidos.

Mejor desordenar el array primero y después simplemente tomar los 4 primeros elementos del array que se ha desordenado.

Código PHP:
<?php
$i
=0;
shuffle($tuarray);
 while(
$i<4)
   echo 
$tuarray[$i++]."<br>";
?>
__________________
"Di no al Internet Explorer" -Proverbio Chino-
  #7 (permalink)  
Antiguo 23/04/2006, 03:51
 
Fecha de Ingreso: abril-2005
Mensajes: 287
Antigüedad: 19 años
Puntos: 0
Para uamistad

Uamistad,¿sabes lo que hace realmente la función array_pop()??Pues bien,ésta función saca el último elemento de un array y LO ACORTA EN UNO,por tanto,no existe la posibilidad de repetición.

Saludos
  #8 (permalink)  
Antiguo 23/04/2006, 06:48
Avatar de uamistad  
Fecha de Ingreso: diciembre-2004
Ubicación: Cd. de México
Mensajes: 1.395
Antigüedad: 19 años, 4 meses
Puntos: 1
Cita:
Iniciado por robandrox
Uamistad,¿sabes lo que hace realmente la función array_pop()??Pues bien,ésta función saca el último elemento de un array y LO ACORTA EN UNO,por tanto,no existe la posibilidad de repetición.

Saludos
Tienes razón, man ! Jaja, no sabía que hacía esa función, pensé que era como hacer:

$tuarray[0] o bien $tuarray[strlen($tuarray) - 1]

=) Saludos robandrox !
__________________
"Di no al Internet Explorer" -Proverbio Chino-
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 13:09.