Assoziatives Array mit shuffle mischen

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
)
Veröffentlicht am
Kategorisiert in php