|
Posted by Jerry Stuckle on 11/16/15 11:28
Kevin Cloutier wrote:
> Hi,
>
> I'm am brand new to PHP and I'm getting up to speed (slowly) running
> through some example tutorials. But I am having trouble getting a For
> Loop to work.
>
> It is supposed to return the microscond from the server each time it
> loops, but it is returning the same second each time through. I'm
> assuming this is because "function make_seed()" is declared outside of
> the loop, but I'm stuck on how to rectify this.
>
> Below is my code, any help would be appreciated!
>
> Kevin
>
> ------------------------------------------
> <html>
> <?
> function make_seed()
> {
> list($usec, $sec) = explode(' ', microtime());
> return (float) $sec + ((float) $usec * 100000);
> }
> srand(make_seed());
> $randvalue = rand(1,100);
>
> ?>
> <ul>
> <?
> for ($i = 1; $i<10; $i++){ ?>
> <li><strong><?= $randvalue ?></strong></li>
> <?}?>
> </ul>
> </html>
Hi, Kevin,
It's always returning the same value because you're not calling
make_seed() in your for loop.
Try this:
<html>
<?
function make_seed()
{
list($usec, $sec) = explode(' ', microtime());
return (float) $sec + ((float) $usec * 100000);
}
?>
<ul>
<?
for ($i = 1; $i<10; $i++){
srand(make_seed()); // Call from within loop
$randvalue = rand(1,100);
?>
<li><strong><?= $randvalue ?></strong></li>
<?}?>
</ul>
</html>
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex@attglobal.net
==================
[Back to original message]
|