我想隨機提供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不應該輸出再次
感謝
我想隨機提供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不應該輸出再次
感謝
$numbers = range(0, 24);
shuffle($numbers);
print_r($numbers);
您的意思是類似於
$array;
$shuffledArray = shuffle($array);
在您的具體的例子中,你所談論的輸出逗號分隔的數字字符串,從0到24
echo implode(',', shuffle(range(0,24));
如果你有數組已經,您可以使用名爲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)。使用那個更好!
for($i = 0; $i < 25; ++$i) {
$array[] = $i;
}
shuffle($array);
print_r($array);
的隨機功能在這些情況下非常有用的。
$r = range(1,25);
shuffle($r);
var_dump($r);
<?php
$numbers = range(0, 24);
shuffle($numbers);
foreach ($numbers as $number) {
echo "$number ";
}
?>
是隨機排列的元素爲好,或者是他們已經確定,用戶只希望他們隨機排序? – Flavius
['shuffle()'](http://php.net/function.shuffle),['range()'](http://php.net/function.range) – hakre
數組被洗牌後,您可以使用http://php.net/array-shift或http://php.net/array-pop從數組中提取元素。 – webspy