Samo manji problem koji sam naknadno našao. array_rand() ne osigurava da će se elementi rezultujućeg niza pojaviti samo jednom tj. ne garantuje unikatnost u ovom slučaju.
Ovu funkciju sam skuckao na brzaka:
PHP kôd:
/**
* This function will take input array and mix its elements
*
* @param array $mix_this
* @return array
*/
function array_mix($mix_this) {
if(!is_array($mix_this)) return $mix_this; // not an array
$mix_out = array();
$mix_in = $mix_this;
for($i = 0, $count = count($mix_in); $i < $count; $i++) {
$rand_key = array_rand($mix_in);
$mix_out[] = $mix_in[$rand_key];
unset($mix_in[$rand_key]);
} // for
return $mix_out;
} // array_mix