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$array = array(2, 2, 1, 3, 3, 3, 4, 4, 5, 5, 6);
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