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 相关文章推荐
第4章 数据处理-php字符串的处理-郑阿奇(续)
Jul 04 PHP
浅谈php函数serialize()与unserialize()的使用方法
Aug 19 PHP
PHP中echo和print的区别
Aug 28 PHP
微信公众平台开发实现2048游戏的方法
Apr 15 PHP
PHP结合Mysql数据库实现留言板功能
Mar 04 PHP
PHP格式化MYSQL返回float类型的方法
Mar 30 PHP
php封装的验证码工具类完整实例
Oct 19 PHP
PHP自定义多进制的方法
Nov 03 PHP
php生成图片缩略图功能示例
Feb 22 PHP
php生成网页桌面快捷方式
May 05 PHP
PHP 数组黑名单/白名单实例代码详解
Jun 04 PHP
laravel框架实现为 Blade 模板引擎添加新文件扩展名操作示例
Jan 25 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
IIS下配置Php+Mysql+zend的图文教程
2006/12/08 PHP
PHP5 安装方法
2007/01/15 PHP
smarty简单入门实例
2014/11/28 PHP
PHP中静态变量的使用方法实例分析
2016/12/01 PHP
php接口实现拖拽排序功能
2018/04/23 PHP
PHP实现时间日期友好显示实现代码
2019/09/08 PHP
thinkphp框架类库扩展操作示例
2019/11/26 PHP
一个基于jquery的图片切换效果
2010/07/06 Javascript
jquery的Tooltip插件 qtip使用详细说明
2010/09/08 Javascript
js实现仿百度风云榜可重复多次调用的TAB切换选项卡效果
2015/08/31 Javascript
jQuery实现根据滚动条位置加载相应内容功能
2016/07/18 Javascript
vue.js做一个简单的编辑菜谱功能
2018/05/08 Javascript
微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧不动,右侧滑动)
2019/01/23 Javascript
自定义Vue中的v-module双向绑定的实现
2019/04/17 Javascript
JavaScrip如果基于url实现图片下载
2020/07/03 Javascript
python字符串排序方法
2014/08/29 Python
python实现2048小游戏
2015/03/30 Python
Django基础之Model操作步骤(介绍)
2017/05/27 Python
Python装饰器的执行过程实例分析
2018/06/04 Python
Python OpenCV调用摄像头检测人脸并截图
2020/08/20 Python
python3文件复制、延迟文件复制任务的实现方法
2019/09/02 Python
python中数据库like模糊查询方式
2020/03/02 Python
Python Django view 两种return的实现方式
2020/03/16 Python
CSS3实现闪烁动画效果的方法
2015/02/09 HTML / CSS
Canvas环形饼图与手势控制的实现代码
2019/11/08 HTML / CSS
Speedo美国:澳大利亚顶尖泳衣制造商
2016/08/03 全球购物
GAP欧盟网上商店:GAP EU
2016/09/13 全球购物
俄罗斯最大的香水和化妆品网上商店:Randewoo
2020/11/05 全球购物
药学专业大学生自荐信
2013/09/28 职场文书
临床医学专业毕业生的自我评价
2013/10/17 职场文书
学期自我鉴定
2013/11/04 职场文书
《晏子使楚》教学反思
2014/02/08 职场文书
家长通知书教师评语
2014/04/17 职场文书
2015年学校安全工作总结
2015/04/22 职场文书
干部作风纪律整顿心得体会
2016/01/23 职场文书
Python开发五子棋小游戏
2022/04/28 Python