2017-02-01 70 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;