php生成随机数的三种方法


Posted in PHP onSeptember 10, 2014

如何用php生成1-10之间的不重复随机数?

例1,使用shuffle函数生成随机数。

<?php
$arr=range(1,10);
shuffle($arr);
foreach($arr as $values)
{
 echo $values." ";
}
?>

例2,使用array_unique函数生成随机数。

<?php
$arr=array();
while(count($arr)<10)
{
 $arr[]=rand(1,10);
 $arr=array_unique($arr);
}
echo implode(" ",$arr);
?>

例3,使用array_flip函数生成随机数,可以去掉重复值。

<?php
$arr=array();
$count1=0;
$count = 0;
$return = array();
while ($count < 10) 
 {
 $return[] = mt_rand(1, 10);
 $return = array_flip(array_flip($return));
 $count = count($return);
 } //3water.com
foreach($return as $value)
 {
 echo $value." ";
 }
echo "<br/>";
$arr=array_values($return);// 获得数组的值 
foreach($arr as $key)
echo $key." ";
?>

php随机数生成函数示例

<?php
function randpw($len=8,$format='ALL'){
$is_abc = $is_numer = 0;
$password = $tmp =''; 
switch($format){
case 'ALL':
$chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
break;
case 'CHAR':
$chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
break;
case 'NUMBER':
$chars='0123456789';
break;
default :
$chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
break;
} // 3water.com
mt_srand((double)microtime()*1000000*getmypid());
while(strlen($password)<$len){
$tmp =substr($chars,(mt_rand()%strlen($chars)),1);
if(($is_numer <> 1 && is_numeric($tmp) && $tmp > 0 )|| $format == 'CHAR'){
$is_numer = 1;
}
if(($is_abc <> 1 && preg_match('/[a-zA-Z]/',$tmp)) || $format == 'NUMBER'){
$is_abc = 1;
}
$password.= $tmp;
}
if($is_numer <> 1 || $is_abc <> 1 || empty($password) ){
$password = randpw($len,$format);
}
return $password;
}
for($i = 0 ; $i < 10; $i++){
echo randpw(8,'NUMBER');
echo "<br>";
}
PHP 相关文章推荐
PHP编程之高级技巧——利用Mysql函数
Oct 09 PHP
PHP抽象类 介绍
Jun 13 PHP
自定义session存储机制避免会话保持问题
Oct 08 PHP
php使用PDO操作MySQL数据库实例
Dec 30 PHP
php中array_multisort对多维数组排序的方法
Jun 21 PHP
PHP基于cookie与session统计网站访问量并输出显示的方法
Jan 15 PHP
php项目开发中用到的快速排序算法分析
Jun 25 PHP
php基于PDO连接MSSQL示例DEMO
Jul 13 PHP
PHP数组生成XML格式数据的封装类实例
Nov 10 PHP
php命令行写shell实例详解
Jul 19 PHP
Laravel框架实现多数据库连接操作详解
Jul 12 PHP
Yii框架中 find findAll 查找出制定的字段的方法对比
Sep 10 #PHP
初识php MVC
Sep 10 #PHP
叫你如何修改Nginx与PHP的文件上传大小限制
Sep 10 #PHP
QQ互联一键登录审核不通过的解决方案
Sep 10 #PHP
PHP curl 抓取AJAX异步内容示例
Sep 09 #PHP
php通过隐藏表单控件获取到前两个页面的url
Sep 09 #PHP
PHP利用MySQL保存session的实现思路及示例代码
Sep 09 #PHP
You might like
支持数组的ADDSLASHES的php函数
2010/02/16 PHP
PHP spl_autoload_register实现自动加载研究
2011/12/06 PHP
几个有用的php字符串过滤,转换函数代码
2012/05/01 PHP
php根据某字段对多维数组进行排序的方法
2015/03/07 PHP
php生成rss类用法实例
2015/04/14 PHP
php5.4传引用时报错问题分析
2016/01/22 PHP
使用ThinkPHP的自动完成实现无限级分类实例详解
2016/09/02 PHP
PHP实现支付宝即时到账功能
2016/12/21 PHP
PHP基于双向链表与排序操作实现的会员排名功能示例
2017/12/26 PHP
PHP支付宝当面付2.0代码
2018/12/21 PHP
关于火狐(firefox)及ie下event获取的两种方法
2012/12/27 Javascript
JavaScript中的运算符种类及其规则介绍
2013/09/26 Javascript
jQuery实现鼠标悬停显示提示信息窗口的方法
2015/04/30 Javascript
JQuery页面地址处理插件jqURL详解
2015/05/03 Javascript
bootstrap多种样式进度条展示
2016/12/20 Javascript
正则 js分转元带千分符号详解
2017/03/08 Javascript
jQuery插件HighCharts绘制2D柱状图、折线图和饼图的组合图效果示例【附demo源码下载】
2017/03/09 Javascript
关于react-router/react-router-dom v4 history不能访问问题的解决
2018/01/08 Javascript
Nuxt.js实现校验访问浏览器类型的中间件
2018/08/24 Javascript
angularJS1 url中携带参数的获取方法
2018/10/09 Javascript
详解Vue webapp项目通过HBulider打包原生APP(vue+webpack+HBulider)
2019/02/02 Javascript
监控微信小程序中的慢HTTP请求过程详解
2019/07/05 Javascript
详解json串反转义(消除反斜杠)
2019/08/12 Javascript
JavaScript实现移动端弹窗后禁止滚动
2020/05/25 Javascript
JS箭头函数和常规函数之间的区别实例分析【 5 个区别】
2020/05/27 Javascript
浏览器JavaScript调试功能无法使用解决方案
2020/09/18 Javascript
[40:55]Liquid vs LGD 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python中删除文件的程序代码
2011/03/13 Python
python sys模块sys.path使用方法示例
2013/12/04 Python
CSS超出文本指定宽度用省略号代替和文本不换行
2016/05/05 HTML / CSS
Html5 canvas画图白板踩坑
2020/06/01 HTML / CSS
西雅图电动自行车公司:Rad Power Bikes
2020/02/02 全球购物
保密工作实施方案
2014/02/24 职场文书
关于运动会广播稿200字
2014/10/08 职场文书
八年级作文之感悟亲情
2019/11/20 职场文书
使用CSS3实现按钮悬停闪烁动态特效代码
2021/08/30 HTML / CSS