for($x = 0; $x < $count; $x++){
rand(0,$count);
}
如何使循环返回从0到$ count的随机INT,但每次循环时都不会返回相同的结果。
如果$ count为5,则会生成4,1,0,2,3。
答案 0 :(得分:2)
我怀疑你并不是真的意思是“从不”,而是从不在你的循环范围内
$count = 5;
$values = range(0, $count-1);
shuffle($values);
foreach($values as $value) {
echo $value, PHP_EOL;
}
答案 1 :(得分:0)
$count = 4;
$r = range(0, $count-1);
shuffle($r);
print_r($r);
答案 2 :(得分:0)
我知道有更有效的解决方案。但是如果需要使用rand()
那么试试这个。
<?php
$count = 5;
$arr = array();
for ($x = 0; $x < $count;) {
$val = rand(0, $count);
if (!in_array($val, $arr)) {
$arr[] = $val;
$x++;
}
}
print_r($arr);
?>