2011-06-22 53 views
1

我想隨機提供25個元素的數組。 我不知道如何做到這一點。PHP以隨機順序服務25個數字

假設數組有從0到24 我想產生類似的東西數字:

5,4,6,7,8,9,10,20,21,22,23,24,25,1,2,11,14,15... etc 

因此,如果發電機輸出23不應該輸出再次

感謝

+0

是隨機排列的元素爲好,或者是他們已經確定,用戶只希望他們隨機排序? – Flavius

+0

['shuffle()'](http://php.net/function.shuffle),['range()'](http://php.net/function.range) – hakre

+0

數組被洗牌後,您可以使用http://php.net/array-shift或http://php.net/array-pop從數組中提取元素。 – webspy

回答

4
$numbers = range(0, 24); 
shuffle($numbers); 

print_r($numbers); 
3

您的意思是類似於

$array; 
$shuffledArray = shuffle($array); 

在您的具體的例子中,你所談論的輸出逗號分隔的數字字符串,從0到24

echo implode(',', shuffle(range(0,24)); 
0

如果你有數組已經,您可以使用名爲shuffle() PHP函數:

http://php.net/manual/en/function.shuffle.php

如果不是,建立數組是這樣的:

<?php 
    $max = 24; 
    $num_array = array(); 
    for($i=0;$i<=$max;$i++) $num_array[] = $i; 
    shuffle($num_array); 
?> 

更新:我從未見過之前使用的範圍函數(由KingCrunch)。使用那個更好!

0
for($i = 0; $i < 25; ++$i) { 
    $array[] = $i; 
} 
shuffle($array); 
print_r($array); 

的隨機功能在這些情況下非常有用的。

0
$r = range(1,25); 
shuffle($r); 
var_dump($r);