生成具有特定范围的20个随机数的最短方法

时间:2018-04-22 15:32:13

标签: php

我需要生成一个包含20个1到200之间随机数的数组。我可以使用更短/更干净的代码吗?

<?php 
$x= array (rand(1,200),rand(1,200),rand(1,200),rand(1,200),rand(1,200),rand(1,200),rand(1,200),rand(1,200),rand(1,200),rand(1,200),rand(1,200),rand(1,200),rand(1,200),rand(1,200),rand(1,200),rand(1,200),rand(1,200),rand(1,200),rand(1,200),rand(1,200));
echo '<pre>'; print_r($x); echo '</pre>';
?>

2 个答案:

答案 0 :(得分:3)

<?php
$arr = array();
for($i=0; $i<20; $i++){
  $random_num = rand(1,200);
  array_push($arr, $random_num);
}

?>

答案 1 :(得分:2)

不需要循环。
使用range创建1-200之间的所有数字shuffle,并使用array_slice获取数组中的前20个项目。

$range = range(1,200);
shuffle($range);
$random = array_slice($range,0,20);
var_dump($random);

https://3v4l.org/fI9WZ