June 2005
Intermediate to advanced
794 pages
18h 27m
German
Sie wollen per Zufall eine Zeile aus einer Datei auswählen. Beispiel: Sie wollen eine Auswahl aus einer Datei mit Sprichwörtern anzeigen.
Verwenden Sie die in Beispiel 21-3 gezeigte Funktion pc_randomint( ), die die Auswahlwahrscheinlichkeiten gleichmäßig über alle Zeilen einer Datei verteilt.
Beispiel 21-3. pc_randomint( )
function pc_randomint($max = 1) {
$m = 1000000;
return ((mt_rand(1,$m * $max)-1)/$m);
}Hier ist ein Beispiel, das die Funktion pc_randomint( ) verwendet:
$line_number = 0; $fh = fopen('sprichwoerter.txt','r') or die($php_errormsg); while (! feof($fh)) { if ($s = fgets($fh,1048576)) { $line_number++; if (pc_randomint($line_number) < 1) { $line = $s; } } } fclose($fh) ...Read now
Unlock full access