一定范围内取几个不重复的随机数(php)

时间:2014-04-28 01:27:18  来源:  作者:

  第二电脑网导读:id="highlighter_415823" class="syntaxhighlighter " style="width:696.953125px;font-size:13px;color:#333333;padding:1px !important;border:0px !important;outline:0px !important;background-image:none !important;float:none !important;vertical-align:baseline !important;left:auto !important;top:auto !important;right:auto !important;bottom:auto !important;heig...
  正文:

//range 是将1到42 列成一个数组

1$numbers = range (1,42);

//shuffle 将数组顺序随即打乱

1shuffle ($numbers);

//array_slice 取该数组中的某一段

1$result = array_slice($numbers,0,3);
2
3
4 print_r($result);

Method 2

01<?PHP
02<!-- lang: php -->
03$numbers = range (1,20);
04<!-- lang: php -->
05srand ((float)microtime()*1000000);
06<!-- lang: php -->
07shuffle ($numbers);
08<!-- lang: php -->
09while (list (, $number) = each ($numbers)) {
10<!-- lang: php -->
11echo "$number ";
12<!-- lang: php -->
13}
14<!-- lang: php -->
15?>

Method 3

用PHP,在1-20间随机产生5个不重复的值,如何做

01<?php
02<!-- lang: php -->
03function NoRand($begin=0,$end=20,$limit=5){
04<!-- lang: php -->
05$rand_array=range($begin,$end);
06<!-- lang: php -->
07shuffle($rand_array);//调用现成的数组随机排列函数
08<!-- lang: php -->
09return array_slice($rand_array,0,$limit);//截取前$limit个
10<!-- lang: php -->
11}
12<!-- lang: php -->
13print_r(NoRand());
14<!-- lang: php -->
15?>

或者不shuffle的话

01<?php
02<!-- lang: php -->
03$tmp=array();
04<!-- lang: php -->
05while(count($tmp)<5){
06<!-- lang: php -->
07$tmp[]=mt_rand(1,20);
08<!-- lang: php -->
09$tmp=array_unique($tmp);
10<!-- lang: php -->
11}
12<!-- lang: php -->
13print join(',',$tmp);
14<!-- lang: php -->
15?>


一定范围内取几个不重复的随机数(php)》由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/Programming/PHP/28407.html


关键字:shuffle numbers result count 如何

关于《一定范围内取几个不重复的随机数(php)》文章的评论

站内搜索: 高级搜索

热门搜索: Windows style 系统 tr IP QQ CPU 安装 function 注册 if td