Wie Zufallstext ausgeben

folio

Erfahrenes Mitglied
Hi, ich möchte auf einer PHP-Seite zufällig einen von 15 verschiedenen Sätzen darstellen. Jetzt ist meine Frage, wie mache ich das am besten. Über eine Datenbank? Einfach an den Anfang des Dokuments einen Array mit den 15 Sätzen machen und einen zufällig auswähle? Oder etwa eine Textdatei bauen?
 
Ich würd da nen Array nehmen, alles andere wäre doch mit Kanonen auf Spatzen geschossen :-)
....zumal du per [phpf]array_rand[/phpf] bequem etwas Zufälliges auswählen kannst.
 
Hier noch eine Möglichkeit mit einer Textdatei.

PHP:
<?php

   // Satzgenerator
    function spruch($dateiname) {
    $daten = file($dateiname);
    shuffle ($daten);
    return $daten[0];
    }

   // Ausgabe
   echo spruch("daten.txt");

?>
 
RS9999 hat gesagt.:
Hier noch eine Möglichkeit mit einer Textdatei.

PHP:
<?php

   // Satzgenerator
    function spruch($dateiname) {
    $daten = file($dateiname);
    shuffle ($daten);
    return $daten[0];
    }

   // Ausgabe
   echo spruch("daten.txt");

?>

Geht das dann mit Zeilen, Strings oder Dateien? Oder wie?
 
Bei ganz schnellen Zugriffen besteht die Gefahr, dass immer die selbe Zeile dargestellt wird.
Und worauf stützt du diese These? Das Beispielskript ist nicht gerade vielsagend, ich habe keine Unregelmäßigkeiten feststellen können.
 
CIX88 hat gesagt.:
Bei ganz schnellen Zugriffen besteht die Gefahr, dass immer die selbe Zeile dargestellt wird.
Beispiel:
http://www.cix88.de/cix_php/php_dateisystem/cix_zufallszeile_aus_txt.php
  1. Ein Aufruf von [phpf]mt_srand[/phpf] hat keine Auswirkungen auf die Funktionen [phpf]array_rand[/phpf], [phpf]shuffle[/phpf] etc., da diese nicht auf den Mersenne-Twister-Zufallsgenerator, sondern auf den von der jeweiligen libc zur Verfügung gestellten zurückgreifen.
  2. Seit PHP 4.2.0 muss man den Zufallsgenerator nicht mehr selbst initialisieren, da dies automatisch geschieht.
 
Zurück