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代码优化及php相关问题总结
Oct 09 PHP
提升PHP执行速度全攻略(下)
Oct 09 PHP
PHP 加密/解密函数 dencrypt(动态密文,带压缩功能,支持中文)
Jan 30 PHP
php读取xml实例代码
Jan 28 PHP
php学习笔记之 函数声明(二)
Jun 09 PHP
PHP定时更新程序设计思路分享
Jun 10 PHP
php数组生成html下拉列表的方法
Jul 20 PHP
PHP实现通过URL提取根域名
Mar 31 PHP
php面向对象值单例模式
May 03 PHP
PHP经典实用正则表达式小结
May 04 PHP
PHP实现对图片的反色处理功能【测试可用】
Feb 01 PHP
PHP命名空间与自动加载类详解
Sep 04 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
非洲第一个咖啡超凡杯大赛承办国—卢旺达的咖啡怎么样
2021/03/03 咖啡文化
请php正则走开
2008/03/15 PHP
PHP操作MongoDB时的整数问题及对策说明
2011/05/02 PHP
PHP访问Google Search API的方法
2015/03/05 PHP
DEDECMS首页调用图片集里的多张图片
2015/06/05 PHP
Js 获取Gridview选中行的内容操作步骤
2013/02/05 Javascript
Jquery图片延迟加载插件jquery.lazyload.js的使用方法
2014/05/21 Javascript
Angular.js去除页面中显示的空行方法示例
2017/03/30 Javascript
js + css实现标签内容切换功能(实例讲解)
2017/10/09 Javascript
p5.js入门教程之鼠标交互的示例
2018/03/16 Javascript
VUE重点问题总结
2018/03/19 Javascript
vue利用axios来完成数据的交互
2018/03/23 Javascript
Angular使用过滤器uppercase/lowercase实现字母大小写转换功能示例
2018/03/27 Javascript
js canvas实现画图、滤镜效果
2018/11/27 Javascript
微信小程序--特定区域滚动到顶部时固定的方法
2019/04/28 Javascript
Vue实现日历小插件
2019/06/26 Javascript
jQuery实现评论模块
2020/08/19 jQuery
javascript实现多边形碰撞检测
2020/10/24 Javascript
利用Python生成文件md5校验值函数的方法
2017/01/10 Python
python3.6利用pyinstall打包py为exe的操作实例
2018/10/31 Python
python实现控制COM口的示例
2019/07/03 Python
python实现一个函数版的名片管理系统过程解析
2019/08/27 Python
python内打印变量之%和f的实例
2020/02/19 Python
keras的ImageDataGenerator和flow()的用法说明
2020/07/03 Python
详解python实现可视化的MD5、sha256哈希加密小工具
2020/09/14 Python
挪威户外活动服装和装备购物网站:Bergfreunde挪威
2016/10/20 全球购物
东南亚旅游平台:The Trip Guru
2018/01/01 全球购物
Watchshop德国:欧洲在线手表No.1
2019/06/20 全球购物
物业管理应届生求职信
2013/10/28 职场文书
保安拾金不昧表扬信
2014/01/15 职场文书
教师网络培训感言
2014/03/09 职场文书
农村面貌改造提升实施方案
2014/03/18 职场文书
供应链金融服务方案
2014/05/25 职场文书
大学生求职信例文
2014/06/29 职场文书
2019年最新版见习人员管理制度!
2019/07/08 职场文书
Spring Boot接口定义和全局异常统一处理
2022/04/20 Java/Android