assoziatives array zufällig sortieren
christian
- php
Hallo,
ich habe ein assoziatives array, welches ich zufällig sortieren möchte:
$test["javascript"]="text1";
$test["php"]="text2";
$test["html"]="text2";
shuffle() funktioniert leider nur bei numerischen arrays. Kennt jemand eine andere Möglichkeit?
Hello,
ich habe ein assoziatives array, welches ich zufällig sortieren möchte:
$test["javascript"]="text1";
$test["php"]="text2";
$test["html"]="text2";shuffle() funktioniert leider nur bei numerischen arrays. Kennt jemand eine andere Möglichkeit?
Kommt darauf an, was Du in Unordnung bringen willst.
a) die Reihenfolge der Elemente in der Kette unter Beibehaltung der Indexe
b) Die Zuordnung zwischen Indexen und Werten
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
Kommt darauf an, was Du in Unordnung bringen willst.
Ich will das Array in einer Schleife in zufälliger Reihenfolge auflisten:
while (list(...)) {}
Dazu muss die Reihenfolge des Arrays aber erstmal zufällig sortiert werden. Bei MySqL gibt es ORDER BY RAND(), was genauso funktioniert. Nur kommt mein array aus keiner Datenbank
Hello,
Kommt darauf an, was Du in Unordnung bringen willst.
Ich will das Array in einer Schleife in zufälliger Reihenfolge auflisten:
while (list(...)) {}
a) nimm foreach() für die Anzeige.
list() each() ist zwar nicht falsch, aber veraltet.
Im Manual unter Shuffle() steht gleich als erstes eine UCN (User Contributed Note), die Du einfach kopieren kannst
http://de3.php.net/manual/de/function.shuffle.php
Zufälliger geht es mit PHP dann nicht...
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
Hallo,
Ich will das Array in einer Schleife in zufälliger Reihenfolge auflisten:
da, wie Tom sagt, shuffle bei assoziativen Arrays nix bringt,
kann man es wie folgt loesen:
<?php
$TT = array('a'=>'Asta','b'=>'Beate','c'=>'Carla','d'=>'Doris','e'=>'Eloise');
$K = array_keys($TT);
shuffle($K);
foreach($K as $key) {
echo $TT[$key]."\n";
}
?>