按顺序生成随机数

时间:2012-07-10 02:53:58

标签: php arrays sorting random

有没有办法从数字列表中获取随机数,然后按顺序排列?

例如,如果我想要1到12之间的4个数字,我怎么能按升序获得这些数字?

编辑:我需要数字是唯一的。

4 个答案:

答案 0 :(得分:3)

$output = array();
for($i=1;$i<=4;$i++){
   $output[] = mt_rand(1, 12);
}
sort($output);

答案 1 :(得分:1)

将随机值存储在数组中,然后使用PHP的排序函数:http://php.net/manual/en/function.sort.php

$numbers = range(1, 12); 
shuffle($numbers); 
$numbers=array_slice($numbers, 0, 4); 
sort($numbers);

答案 2 :(得分:0)

<?
$y=array();
for($i=0;$i<4;$i++){$y[$i]=mt_rand(1,12);}
sort($y);
?>

答案 3 :(得分:0)

试试这个,添加到数组,然后再进行排序。

foreach 范围会更容易阅读,因此更容易维护:)

<?php
$b1 = 1;
$b2 = 12;

$nums = array();
foreach(range(1,4) as $i){
   $nums[] = rand($b1,$b2);
}
sort($nums);
var_dump($nums);

有关排序的更多信息 http://php.net/manual/en/function.sort.php