/** 生成指定个数,以及最小最大值随机数组(包括最大值)
* @parem $min 随机数组最小值
* @parem $max 随机数组最大值
* @parem $num 随机数组个数,默认max-min
* @parem $order 排序方式,false不排序,ture默认 由低到高-->asort()
* */
function unique_rand($min,$max,$num=0,$order=false)
{
// 转为 int 类型
$min=gettype($min)=='int'?$min:intval($min);
$max=gettype($max)=='int'?$max:intval($max); // 如果参数写反
if($max<=$min)
{
$max=$max+$min;
$min=$max-$min;
} $num=gettype($num)=='int'?$num:intval($num);
$max_num=$max-$min; // 最大数组个数
if($num<1 || $num>$max_num) //随机数组个数,默认max-min
{
$num=$max_num;
} //生成随机数组
$return = array(); $i=0;
while(count($return)<$num)
{
$i++;
$rand_n=rand($min,$max);
$return[$rand_n]=$i;
}
$return=array_flip($return); // 数组排序
if(isset($order))
{
$order=strtolower($order);
switch($order)
{
case 'asort': //由低到高 ,键值关联的保持
case 'arsort': //由高到低 ,键值关联的保持
case 'sort': //由低到高
case 'rsort': //由高到低
$order($return);
break;
default:
sort($return); //由低到高
break;
}
}
return $return;
}
// 测试调用
$arr=unique_rand(10,132,8);
echo "<pre>";
var_dump($arr);

PHP 生成随机数组的更多相关文章

  1. numpy生成随机数组

    python想要生成随机数的话用使用random库很方便,不过如果想生成随机数组的话,还是用numpy更好更强大一点. 生成长度为10,在[0,1)之间平均分布的随机数组: rarray=numpy. ...

  2. Python生成随机数组的方法小结

    Python生成随机数组的方法小结 本文实例讲述了Python生成随机数组的方法.分享给大家供大家参考,具体如下: 研究排序问题的时候常常需要生成随机数组来验证自己排序算法的正确性和性能,今天把Pyt ...

  3. Lua在给定范围内,生成指定个数不重复随机数组

    本篇主要是参考 lua连续随机数 这篇文章完成.大家可以去原贴查看学习. 生成随机数组,暂时发现两种方法 1.把生成的数放到一个表里面,每次随机时判断这个表里是否有,若有再随机一次(问了朋友,很多人都 ...

  4. JavaScript 实现彩票中随机数组的获取

    1.效果图: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...

  5. js 随机数组

    生成指定num-start 个数组长度,值为start---num 的随机数组,不包括num这个值 function rand_arr(num,start) { // 验证值 if(!argument ...

  6. (C/C++学习)11.随机数组的快速查找

    说明:利用随机函数生成一个随机数组,然后对数组进行排列,再利用二分查找快速查找一个数. 一.生成随机数组 time_t ts; //等价于long ts; unsigned int num = tim ...

  7. JavaScript实现生成指定范围随机数和一个包含不重复数的随机数组

    目前JavaScript里面还没有现成的方法可以实现这个简单地需求,我们就需要自己写代码了. 在js中有个函数:Math.random() 这个函数可以生成 [0,1) 的一个随机数. 我们的简单的改 ...

  8. 页面上有3个输入框:分别为max,min,num;三个按钮:分别为生成,排序,去重;在输入框输入三个数字后,先点击生成按钮,生成一个数组长度为num,值为max到min之间的随机整数点击排序,对当前数组进行排序,点击去重,对当前数组进行去重。 每次点击之后使结果显示在控制台

    <!DOCTYPE html> <html> <head> <!-- 页面上有3个输入框:分别为max,min,num:三个按钮:分别为生成,排序,去重: 在 ...

  9. 用TreeSet生成不重复自动排序随机数组

    随机数组就是在指定长度的数组中用随机数字为每个元素赋值,常用于不确定数值的环境,如拼图游戏需要随机数组来打乱图片顺序.可是同时也存在问题,就是随机数的重复问题,这个问题常常被忽略. TreeSet类的 ...

随机推荐

  1. 用java和汇编开发一个hello world系统内核

  2. tomcat在linux服务器上部署应用

    连接服务器 服务器地址:xxx.xxx.xxx.xxx 用户名:xxxx 密码:xxxx 进入到服务器中的tomcat路径,关闭服务器,例如 路径:/opt/wzgcyth/apache-tomcat ...

  3. 屌爆的xamarin,一人单挑google/apple/windows

    一个IDE就把3大手机平台全包了: android:自带模拟器xamarin player,速度堪比genymotion. ios:需要一台mac机辅助,一旦配好后可全程脱离,连ios模拟器都给镜像到 ...

  4. 使用pycharm运行调试scrapy

    摘要 Scrapy是爬虫抓取框架,Pycharm是强大的python的IDE,为了方便使用需要在PyCharm对scrapy程序进行调试 python PyCharm Scrapy scrapy指令其 ...

  5. Office Web APP预览如何去掉顶部版权标志“Microsoft Office Web Apps”

    在Office Web APP的预览会涉及4中类型的文 件:Word.Excel.PowerPoint.PDF,不同的类型在预览时调用的文件是不一样的,其中Word和 PDF调用的是同一个文件.每个预 ...

  6. 制作3D旋转视频展示区

    CSS3 3D变形制作视频展示区 <!doctype html> <html lang="en"> <head> <meta charse ...

  7. GlobalAlloc()和malloc()、HeapAlloc()

    两者都是在堆上分配内存区.  malloc()是C运行库中的动态内存分配函数,WINDOWS程序基本不使用了,因为它比WINDOWS内存分配函数少了一些特性,如,整理内存.  GlobalAlloc( ...

  8. SQL之TCL

    TCL(Transaction Control Language)事务控制语言 COMMIT  提交SAVEPOINT 设置保存点ROLLBACK  回滚SET TRANSACTION

  9. Replication--复制问答

    在发布表尾部增加字段,需要重新初始化订阅么?答:在发布表尾部增加字段,不需要不需要重新初始化订阅,该修改会自动同步到订阅段,也不需要对复制做任何修改.但如果在同一个发布中增加新的项目,需要重新初始化订 ...

  10. SSM项目配置文件及其各项使用

    $说明: ·Spring 5  + Mybatis 3.4.5 +SpringMVC  ·使用druid数据库 ·使用log4j输出日志 $Spring 及其配置文件(部分) Spring官方网站:h ...