webForumDet fria alternativet

Rand() - hmmmm

3 svar · 210 visningar · startad av oelbal

oelbalMedlem sedan jan. 20014 973 inlägg
#1

Jag är lite halvröten på PHP, men har iaf gjort en liten kod som slumpar fram HTML från 3 olika .txt dokument. Nu är det så den kanske är lite dåligt skriven, eller så är funktionen rand() dålig, för att det hämtas nästan alltid kod från .txt nummer ett. Det kommer nästan aldrig kod från 2:an och 3:an.

Hur kan jag optimera koden så att den verkligen slumpar mellan de tre dokumenten?

<?php

$summa = rand(1, 3);

if($summa == 1) {
	$file = fopen("text1.txt", "r"); 
	while(!feof($file)) 
	{
	$line = fgets($file,4096); 
	echo "$line";
	}
	fclose ($file);
}

if($summa == 2) {
	$file = fopen("text2.txt", "r"); 
	while(!feof($file))
	{
	$line = fgets($file,4096); 
	echo "$line";
	}
	fclose ($file);
}

if($summa == 3) {
	$file = fopen("text3.txt", "r"); 
	while(!feof($file))
	{
	$line = fgets($file,4096); 
	echo "$line";
	}
	fclose ($file);
}

?>

------------------
mschmidt & token
Say no more....

LarsGMedlem sedan dec. 200012 464 inlägg
#2

Använd srand för att få spridning.
Ur PHP-manualen för srand:

Seeds the random number generator with seed.


// seed with microseconds since last "whole" second

srand ((double) microtime() * 1000000);
$summa = rand(1,3);

dok om srand finns här
http://www.php.net/manual/en/function.srand.php

------------------
essentitia preter non sans multiplicandum

oelbalMedlem sedan jan. 20014 973 inlägg
#3

Attans, att jag inte kollar i manualen först :)

.....få se om det funkar.....

------------------
mschmidt & token
Say no more....

oelbalMedlem sedan jan. 20014 973 inlägg
#4

YES!
Nu blev det bättre....

Tack LarsG för att du påpekade felet för mig :)

------------------
mschmidt & token
Say no more....

[Redigerat av oelbal den 26 feb 2001]

133 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)