2010-10-05 83 views

回答

7
$numbers = range(0,9999); 
shuffle($numbers); 
foreach($numbers as $number) { 
    echo str_pad($number,4,'0',STR_PAD_LEFT),'<br />'; 
} 
1

編輯:

這裏..

$randarr = array(); 
for ($i = 0; $i < 9999; $i++) { 
    array_push($randarr, $i); 
} 

shuffle($randarr); 

foreach($randarr as $randval) { 
    echo $randval . "\n"; 
} 
+1

沒有我的意思是我想擁有的每個數字回聲出從0000到9999,而不是爲了。它不應該是0000,0001,0002.它應該是編輯的9328,1283,6839等 – 2010-10-05 11:34:39

+0

。下面是示例運行:http://codepad.org/NQGRyyFC – Ruel 2010-10-05 11:42:07

+0

Mike,shuffle()函數隨機混合了數組的值。數字列表將不再按順序排列。 – syrion 2010-10-05 11:53:05

-1

退房PHP的rand()函數。

你可以這樣做:

for ($counter=0; $counter < 10000; $counter += 1) { 
    $rand=rand(0,9999); echo $rand."<br />"; 
} 
+0

這隻會在隨機點開始列表。 – Vache 2010-10-05 11:36:42

2

要產生0000到9999的列表,你可以做這樣的事情:

<?php 

$array_list = array(); 
$end =9999; 
for($idx=0; $idx<=$end; $idx++) 
{ 
    $array_list[$idx] = str_pad($idx, 4, 0, STR_PAD_LEFT); 
} 
?> 

隨機生成列表中,你可以使用array_rand ():

<?php 
for($idx=0; $idx<=9; $idx++) 
{ 
    echo array_rand($array_list); 
} 
?> 
1

PHP確實有一些基本功能來生成這個範圍:

$aRange = range(0, 9999); 
shuffle($aRange); 
print_r($aRange); 

打印的4位數字輸出:

foreach($aRange as $number) { 
    print str_pad($number, 4, 0, STR_PAD_LEFT); 
}