我想随机提供一个由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));
for($i = 0; $i < 25; ++$i) {
$array[] = $i;
}
shuffle($array);
print_r($array);
shuffle函数在这些情况下非常有用。
<?php
$numbers = range(0, 24);
shuffle($numbers);
foreach ($numbers as $number) {
echo "$number ";
}
?>
http://php.net/manual/en/function.shuffle.php
$r = range(1,25);
shuffle($r);
var_dump($r);
如果您已经有了数组,您可以使用名为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)使用的范围函数。用那个要好得多!