Mailinglisten-Archive |
Richard Feist wrote: > wie kann ich eine table in zufaelliger reihenfolge ausgeben? Mit Tabelle meinst Du Datenbanktabelle? Du möchtest also eine Wahlurne ohne zurücklegen? Ermittle alle Keys (oder sauge gleich alle Daten, falls nicht zu viel Speicherverbrauch entsteht). Falls Du klassisch vorgehen möchtest, benutze rand() (http://www.php.net/manual/function.rand.php3) und count() (http://www.php.net/manual/function.rand.php3) um zufällig auf einzelne Werte in dem Array zuzugreifen: $id = rand(0, count($daten)) Verarbeite $daten[$id] und benutze unset($daten[$id]) (http://www.php.net/manual/function.unset.php3) zur Entfernung des Eintrags aus der Urne. Falls Du ein aktuelles PHP hast, nimm shuffle() (http://www.php.net/manual/function.shuffle.php3) zum würfeln. In diesem Fall kannst Du Dir auch das unset sparen, weil Du jedes Element nur einmal verarbeitest: shuffle($daten); while (list($k, $v)=each($daten)) echo "$k => $v<br>\n"; Ulf
php::bar PHP Wiki - Listenarchive