Die Funktion shuffle mischt die Elemente eines Arrays zufällig.
Möchte man die Keys des assoziativen Arrays behalten geht das mit einem Hilfsarray.
Beispielsarray
$sortedArray = array( 'a-key' => 'a-value', 'b-key' => 'b-value', 'c-key' => 'c-value', 'd-key' => 'd-value', 'e-key' => 'e-value', 'f-key' => 'f-value', 'g-key' => 'g-value', );
Hilfsarray initialisieren
$shuffledArray = [];
Die Keys des zu mischenden Arrays sichern und mischen
$keys = array_keys($sortedArray); shuffle($keys);
Mit den gemischten Keys diese und die Values dazu in das neue Array schreiben und mit print_r ausgeben
foreach ($keys as $key) { $shuffledArray[$key] = $sortedArray[$key]; } echo '<pre>'; print_r($shuffledArray); echo '</pre>';
Ausgabe (ähnlich)
Array ( [b-key] => b-value [g-key] => g-value [e-key] => e-value [a-key] => a-value [f-key] => f-value [c-key] => c-value [d-key] => d-value )