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