lulu: Zufallsystem - Wieso microtime?

Beitrag lesen

Huhu Andy

ist das nicht die perfekte lösung?

es mag funktionieren, aber perfekt würde ich es nicht nennen

<?php
SESSION_START();
SESSION_REGISTER("lids");

benutze besser das "super global"- Array $_SESSION

print "LIDS: $lids<br>";

$max = '5';

Du möchtest einen Zahl (Integer) und keinen String oder?

zufall();

Funktionsaufruf steht vor der Funktionsdefinition, das funktioniert
zwar, empfinde ich persönlich aber als schlechten Stil.

function zufall ()

schlecht gewählter Funktionsname

{
global $max, $id, $lids, $lid;

global ist meistens unnötig und ist im Hinblick auf vernünftige
Modularisierung kontraproduktiv.

mt_srand ((double)microtime()*1000000);

das musst Du nur einmal im Skript aufrufen

$id = mt_rand(0,$max);

$exp_lids = explode("|", $lids);
$count = count($exp_lids)-1;
for ($i=0; $i <= $count; $i++)
{
  $lid = $exp_lids[$i];
  if ($lid == $id) zufall();

hier gefährlicher rekursiver Aufruf, da eine Endlos-Schleife
sehr leicht möglich ist.

}

Deine Funktion hat keinen Rückgabewert

}

$lids = $id."|".$lids;

print "ID: $id<br>";
?>

Also nochmal von vorne ...

Viele Grüße

lulu

--
bythewaythewebsuxgoofflineandenjoytheday