Ver Mensaje Individual
  #6 (permalink)  
Antiguo 25/06/2014, 21:14
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 6 meses
Puntos: 977
Respuesta: Obtener elementos de array al azar sin repetirse

Fíjate que actualicé el código, me habían faltado los corchetes.

Una prueba en vivo, generando cinco secuencias: http://ideone.com/ylsFv1

Saludos

Edito: Se me ocurre una solución más corta:

Código PHP:
Ver original
  1. $array = array(2, 2, 1, 3, 3, 3, 4, 4, 5, 5, 6);
  2. $aux = array_unique($array);
  3. shuffle($aux);
  4. echo implode(', ', array_chunk($aux, 3)[0]);

Primero, utilizo la función array_unique para generar un array a partir de los datos del array original pero con valores únicos, obviando las repeticiones existentes. Luego, con la función shuffle, mezclo los datos del array de valores únicos (el array auxiliar), enseguida, utilizo la función array_chunk para partir a este array en porciones de 3 elementos cada una, tomando la primera de ellas y uniendo a sus elementos con comas mediante la función implode, pudiendo así imprimir la secuencia de valores.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Última edición por Alexis88; 26/06/2014 a las 01:26