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 PDO中文乱码解决办法
Jul 20 PHP
php 数组的合并、拆分、区别取值函数集
Feb 15 PHP
简单的方法让你的后台登录更加安全(php中加session验证)
Aug 22 PHP
php模板函数 正则实现代码
Oct 15 PHP
PHP数组传递是值传递而非引用传递概念纠正
Jan 31 PHP
PHP strip_tags()去除HTML、XML以及PHP的标签介绍
Feb 18 PHP
分享常见的几种页面静态化的方法
Jan 08 PHP
php数组合并与拆分实例分析
Jun 12 PHP
PHP后端银联支付及退款实例代码
Jun 23 PHP
PHP实现基于PDO扩展连接PostgreSQL对象关系数据库示例
Mar 31 PHP
php基于Redis消息队列实现的消息推送的方法
Nov 28 PHP
浅谈PHP5.6 与 PHP7.0 区别
Oct 09 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
GBK的页面输出JSON格式的php函数
2010/02/16 PHP
一个简洁的PHP可逆加密函数(分享)
2013/06/06 PHP
PHP可变函数的使用详解
2013/06/14 PHP
解析:php调用MsSQL存储过程使用内置RETVAL获取过程中的return值
2013/07/03 PHP
php结合正则获取字符串中数字
2015/06/19 PHP
PDO::commit讲解
2019/01/27 PHP
javascript 对表格的行和列都能加亮显示
2008/12/26 Javascript
JavaScript 程序编码规范
2010/11/23 Javascript
JavaScript中的包装对象介绍
2015/01/27 Javascript
用JS实现轮播图效果(二)
2016/06/26 Javascript
在 Angular2 中实现自定义校验指令(确认密码)的方法
2017/01/23 Javascript
深入理解ES6之数据解构的用法
2018/01/13 Javascript
vue利用v-for嵌套输出多层对象,分别输出到个表的方法
2018/09/07 Javascript
JavaScript时间与时间戳的转换操作实例分析
2018/12/07 Javascript
javascript数组常见操作方法实例总结【连接、添加、删除、去重、排序等】
2019/06/13 Javascript
vue 使用async写数字动态加载效果案例
2020/07/18 Javascript
Vue v-for中的 input 或 select的值发生改变时触发事件操作
2020/08/31 Javascript
python进阶教程之异常处理
2014/08/30 Python
Python自动化测试Eclipse+Pydev 搭建开发环境
2016/08/15 Python
浅析python3字符串格式化format()函数的简单用法
2018/12/07 Python
Python 使用folium绘制leaflet地图的实现方法
2019/07/05 Python
Python定时任务随机时间执行的实现方法
2019/08/14 Python
python中seaborn包常用图形使用详解
2019/11/25 Python
Python 实现try重新执行
2019/12/21 Python
Python图像处理库PIL的ImageGrab模块介绍详解
2020/02/26 Python
详解pytorch tensor和ndarray转换相关总结
2020/09/03 Python
Bootstrap File Input文件上传组件
2020/12/01 HTML / CSS
荷兰鞋类购物网站:Donelli
2019/05/24 全球购物
Cult Gaia官网:美国生活方式品牌
2019/08/16 全球购物
"序列点" 是什么
2016/07/29 面试题
励志演讲稿500字
2014/08/21 职场文书
学校领导班子群众路线整改措施
2014/09/16 职场文书
律师授权委托书范本
2014/10/07 职场文书
2014年节能减排工作总结
2014/12/06 职场文书
2016大学生形势与政策心得体会
2016/01/12 职场文书
Python内置数据类型中的集合详解
2022/03/18 Python