2017-02-01 39 views
-2

谢谢大家帮助我。但我不明白为什么有些人把我的问题标为负面。问关于我不是坏事的东西的问题?如果我找到了解决方案,我没有问这里,我搜索,但无法找到我的问题的解决方案,英语不是我的主要语言,我的不擅长。所以有时我不知道如何搜索它们,很难找到正确的单词。克服它。 [已解决] rand()函数用于循环的值相同 - PHP


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

<?php 

$rand = rand(); 

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

但是当我运行我的代码输出类似的东西:

4481 
4481 
4481 
4481 
4481 
4481 
4481 
4481 
4481 
4481 

所有10个值是相同的,但我想所有的人都不同。

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

谢谢。

+0

尝试'回声兰特() “\ n”;' – rokas

+2

你是打印在相同的变量,你需要调用该函数,而不是 – Saksow

+0

我明白了。谢谢 – ofarukcaki

回答

0

嘿@ofarukcaki在第一行$兰特=兰特();您分配这是由当时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>";; 
    } 
0

尝试

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

尝试该解决方案

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

试试这个

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