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执行速度全攻略(上)
Oct 09 PHP
随时给自己贴的图片加文字的php水印
Mar 16 PHP
PHP 文件上传全攻略
Apr 28 PHP
PHP程序员最常犯的11个MySQL错误小结
Nov 20 PHP
php数组声明、遍历、数组全局变量使用小结
Jun 05 PHP
PHP 使用header函数设置HTTP头的示例解析 表头
Jun 17 PHP
关于php 接口问题(php接口主要也就是运用curl,curl函数)
Jul 01 PHP
解析php中如何调用用户自定义函数
Aug 06 PHP
php绘图之生成饼状图的方法
Jan 24 PHP
YII框架批量插入数据的方法
Mar 18 PHP
php多文件打包下载的实例代码
Jul 12 PHP
php校验公钥是否可用的实例方法
Sep 17 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
PHP编实现程动态图像的创建代码
2008/09/28 PHP
php阻止页面后退的方法分享
2014/02/17 PHP
php文件上传及下载附带显示文件及目录功能
2017/04/27 PHP
PHP的RSA加密解密方法以及开发接口使用
2018/02/11 PHP
获取dom元素那些讨厌的位置封装代码
2010/06/23 Javascript
jQuery基础框架浅入剖析
2012/12/27 Javascript
js实现键盘操作实现div的移动或改变的原理及代码
2014/06/23 Javascript
如何判断微信内置浏览器(通过User Agent实现)
2014/09/01 Javascript
JavaScript弹出新窗口并控制窗口移动到指定位置的方法
2015/04/06 Javascript
如何实现JavaScript动态加载CSS和JS文件
2020/12/28 Javascript
初识angular框架后的所思所想
2016/02/19 Javascript
jQuery获取浏览器类型和版本号的方法
2016/07/05 Javascript
js基于FileSaver.js 浏览器导出Excel文件的示例
2017/08/15 Javascript
Vue下滚动到页面底部无限加载数据的示例代码
2018/04/22 Javascript
vue vue-Router默认hash模式修改为history需要做的修改详解
2018/09/13 Javascript
js中对象和面向对象与Json介绍
2019/01/21 Javascript
TypeScript开发Node.js程序的方法
2019/04/30 Javascript
基于vue和websocket的多人在线聊天室
2020/02/01 Javascript
[01:38]【DOTA2亚洲邀请赛】Sumail——梦开始的地方
2017/03/03 DOTA
[36:19]2018DOTA2亚洲邀请赛 小组赛 A组加赛 Newbee vs LGD
2018/04/03 DOTA
Python基于动态规划算法计算单词距离
2015/07/25 Python
matplotlib.pyplot画图并导出保存的实例
2019/12/07 Python
Python Lambda函数使用总结详解
2019/12/11 Python
python UDF 实现对csv批量md5加密操作
2021/01/01 Python
解决img标签上下出现间隙的方法
2016/12/14 HTML / CSS
中国高端鲜花第一品牌:roseonly(一生只送一人)
2017/02/12 全球购物
BabyBjörn婴儿背带法国官网:BabyBjorn法国
2018/06/16 全球购物
介绍一下代理模式(Proxy)
2014/10/17 面试题
人力资源管理专业学生自我评价
2013/11/20 职场文书
人事主管岗位职责范本
2013/12/04 职场文书
《猴子种树》教学反思
2014/02/14 职场文书
党的群众路线教育实践活动整改方案
2014/10/28 职场文书
求职信格式范文
2015/03/19 职场文书
Python实现制作销售数据可视化看板详解
2021/11/27 Python
关于@OnetoMany关系映射的排序问题,使用注解@OrderBy
2021/12/06 Java/Android
Java多线程并发FutureTask使用详解
2022/06/28 Java/Android