您现在的位置是: 网站首页>文章详情 文章详情

如何高效率的写一个不会重复出现的随机数

Heartless Wolf 1585209331 php 1127 收藏

简介 如何高效率的写一个不会重复出现的随机数


如何高效率的写一个不会重复出现的随机数

<?php
function unique_rand($min,$max,$num){
   $count=0;
   $result=array();
   while($count<$num){
       $result[]=mt_rand($min,$max);          
       //生成随机数时用了 mt_rand() 函数。这个函数生成随机数的平均速度要比 rand() 快四倍。
       $result=array_flip(array_flip($result));  
       //去除数组中的重复值时用了“翻翻法”,就是用 array_flip() 把数组的 key 和 value 交换两次。这种做法比用 array_unique() 快得多。
       $count=count($result);
   }
   shuffle($result);  
   //返回数组前,先使用 shuffle() 为数组赋予新的键名,保证键名是 0-n 连续的数字。如果不进行此步骤,可能在删除重复值时造成键名不连续,给遍历带来麻烦。
   return $result;
}
$arr=unique_rand(1,100,20);
$result="";
for($i=0;$i<count($arr);$i++){
   $result.=$arr[$i].",";
}
$result=substr($result,0,-1);
echo $result;


文章评论

    点击加载更多评论

我的名片

网名:Hello World

职业:PHP开发

现居:福建省-福州市

Email:565554856@qq.com

  • 图片信息

站点信息

  • 建站时间:2019-04-20
  • 文章总计:69条
  • 笔记总计:4条
  • 文章评论:0条
  • 笔记评论:0条
  • 当前访问IP:18.225.55.151