Hola amigo,
Gracias por la respuesta. Ya he conseguido solucionarlo.
Sobre lo del array, no puedo quitar los repetidos porque pueden estar asignados a una u otra condición y tienen que aparecer sea de una manera o se de otra. Si se dan las dos y se repite pues ahí nace el problema.
Tampoco puedo numerarlos ya que hay items que en una condicion pueden no salir y por lo tanto como has visto en el ejemplo se me rompe la cadena. Si hago un random con numero y sale ese numero que no está en el array final pues no sirve de nada.
La solución la tiene la función array_rand(), me ha costado encontrarla a pesar de que tiene las 2 palabras clave de mi topic, ésta descarta los repetidos y escoje un valor del array al azar, vamos, parece que me la hayan hecho a medida.
Saludos y gracias a todos igualmente