PHP Array wert + schlüssel shuffeln und Ausgabe!

D

dreivier

Gast
Moin

Problem...möchte ein array shuffeln und den wert+passenden schlüssel ausgeben.

Funktioniert nicht...

PHP:
$ausgabe = array('name1' => 'daten1', 'name2' => 'daten2', 'name3' => 'daten3');
 shuffle($ausgabe);

Ausgabe muss lauten z.B.
Hans Musterman : 2000 Musterstadt
(das wäre dann name1+daten1)

Kann mir jemand helfen? habe auch schon mit foreach versucht aber leider ohne Ergebnis.
 
shuffle ist nicht stabil.
http://php.net/manual/de/function.shuffle.php schrieb:
Hinweis: Diese Funktion weist den Elementen des Arrays array neue Schlüssel zu. Bestehende Schlüssel, die Sie eventuell zugewiesen haben, werden entfernt statt einfach nur die Schlüssel neu anzuordnen.
Heißt: Schlüssel shufflen, dann das Array anhand der alten Daten neu aufbauen auf Grundlage der neuen Schlüsselreihenfolge.
 
Jau..

Also ich habe das jetzt so:
PHP:
$arr = array('name1' => 'daten1', 'name2' => 'daten2', 'name3' => 'daten3');

function shuffle_assoc($list) {
  if (!is_array($list)) return $list;

  $keys = array_keys($list);
  shuffle($keys);
  $random = array();
  foreach ($keys as $key) {
    $random[$key] = $list[$key];
  }
  return $random;
}

$set = shuffle_assoc($arr);

Scheint korrekt zu funktionieren wenn ich mir das mit
PHP:
var_dump($set);
anschaue...aber entschuldigt, wie gebe ich das jetzt aus?
Mit
PHP:
echo $set[0]; //kommt nix.
 
Den ersten Wert bekommst du mit reset(), den Schlüssel mit key().
 

Ähnliche Themen

Zurück
Oben