rand()函数的相同值为循环 - PHP

时间:2017-02-01 12:03:08

标签: php random

我尝试使用for循环使用rand()函数生成10个不同的数字。我的代码:

alloca

但是当我运行我的代码输出时:

    <?php

$rand = rand();

for ($i=1 ; $i<=10 ; $i++){
    echo $rand."\n";
}
?>

所有10个值都相同,但我希望所有这些值都不同。

在C中,有一个 srand(time(NULL))代码来防止这种情况,PHP中的替代解决方案是什么?

感谢。

4 个答案:

答案 0 :(得分:1)

嘿@ofarukcaki在第一行$ rand = rand();你分配了一个由rand()在那个时间生成的数字,这意味着你在$ rand变量中分配了一个修正号而不是一个rand()函数

所以尝试下面的一个

<?php
//$rand = rand(); $rand assigned a number which will be fixed for the below lines of code, instead of using $rand use direct rand() in below loop which we will generate 10 different numbers randomly
    for ($i=1 ; $i<=10 ; $i++){
        echo rand()."<br>";;
    }

答案 1 :(得分:0)

for ($i=1 ; $i<=10 ; $i++){
    echo rand()."\n";
}

答案 2 :(得分:0)

试试这个解决方案

$min=1111;
$max=9999;    
for ($i=1 ; $i<=10 ; $i++)
{
    echo rand($min,$max);
    echo "<BR>\n";
}

答案 3 :(得分:0)

试试这个

$string1 = str_shuffle('1234567890');
$random1 = substr($string1,0,10);
echo $random1;