PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : zufall



localhost
30-12-2003, 21:02
<?
srand(microtime()*1000000);
$zufall = rand(1,100);
?>


so kann ich zufellig eine zahl zwichen 1 und 100 erzeugen aber wie mache man das mit texten.??

Das unterschidlich text kommen die man voher natürlich festlegt

Individuum
30-12-2003, 22:53
if ($zufall == 1) echo "Text 1";
elseif ($zufall == 2) echo "Text 2";

Schöner geht es mit switch() aber dafür bin ich jetzt zu faul.

localhost
30-12-2003, 23:21
und wens mer wie zwei sein sollen ??


Original geschrieben von Individuum

if ($zufall == 1) echo "Text 1";
elseif ($zufall == 2) echo "Text 2";

Schöner geht es mit switch() aber dafür bin ich jetzt zu faul.

Stanislaus
31-12-2003, 09:06
Selbes Problem wie hier: http://mrunix.de/forums/showthread.php?s=&threadid=33889
Was ist konkret Dein Problem?

Du willst aufgrund einer Zufallszahl Texte durchswitchen? Oder willst Du zufällig lange Strings mit zufälligem Inhalt erzeugen oder was?

Bis neulich ...

sixfriends
31-12-2003, 13:47
Eigentlich ganz einfach: Texte in einem Array speichern und erzeugte Zufallszahl als Index benutzen:


srand(microtime()*1000000);
$zufall = rand(0,99);
$texte = array(
'Text 1',
'Text 2',
.....
'Text 100'
);
echo $texte[$zufall];
oder, falls deine Texte in einer seperaten normalen Textdatei liegen (Hab da auch so was, das 400kB groß ist und nicht jedesmal beim Öffnen der Datei mit in den Speicher geschrieben werden soll) :

srand(microtime()*1000000);
$zufall = rand(1,100);
$file = fopen("texte.txt","r");
for ($i=1;$i<$zufall;$i++) {
fgets($file,1000); // An die richtige Stelle in der Datei "spulen"
}
$result = fgets($file,1000);
fclose($file);
echo $result;
Dritte Möglichkeit wäre, dein Zeug in einer Datenbank abzulegen, speichern mit einer eindeutigen id und dann mit id=Zufallszahl drauf zugreifen, aber dafür bin ich jetzt zu faul.

sixfriends

localhost
31-12-2003, 18:10
genau das @sixfriends danke.
Ich habe die texte nicht in die arry rein bekommen oder wuste nicht wie ich das verbinde

localhost
05-01-2004, 17:23
srand(microtime()*1000000);
$zufall = rand(0,99);
$texte = array(
'Text 1',
'Text 2',
.....
'Text 100'
);
echo $texte[$zufall];

heir das geht auch nicht felher bei

echo $texte[$zufall]; < ---

red_head105
07-01-2004, 09:05
was meldet er genau?
das Skript an sich ist 100% richtig ;)

Gruß red_head

localhost
07-01-2004, 18:48
also ich hab auf der page die microtime schon mal also um anzuzeigen lassen wie lange es dauert um sie aufzubauen

http://www.php.net/microtime <-- das habe da
ich holl mal die erste zeile raus weils schon da ist

Individuum
07-01-2004, 18:57
was?

schreib doch mal fehlermeldung und hänge den ganzen code an.
du wirfst ja nur mit fetzen um dich. und so kann und will dir warscheinlich auch keiner helfen.