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对大文件进行读取操作的实现代码
Jan 23 PHP
php中判断数组是一维,二维,还是多维的解决方法
May 04 PHP
PHP数组排序函数合集 以及它们之间的联系分析
Jun 27 PHP
删除html标签得到纯文本可处理嵌套的标签
Apr 28 PHP
PHP多文件上传类实例
Mar 07 PHP
十大使用PHP框架的理由
Sep 26 PHP
ZF框架实现发送邮件的方法
Dec 03 PHP
Symfony的安装和配置方法
Mar 17 PHP
Laravel构建即时应用的一种实现方法详解
Aug 31 PHP
PHP递归实现汉诺塔问题的方法示例
Nov 25 PHP
php实现小程序支付完整版
Oct 09 PHP
PHP children()函数讲解
Feb 03 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正则提取或替换img标记属性
2013/06/26 PHP
ThinkPHP 3.2 版本升级了哪些内容
2015/03/05 PHP
PHP安全上传图片的方法
2015/03/21 PHP
PHP实现的多维数组排序算法分析
2018/02/10 PHP
PHP生成随机密码4种方法及性能对比
2020/12/11 PHP
jquery BS,dialog控件自适应大小
2009/07/06 Javascript
javascript之typeof、instanceof操作符使用探讨
2013/05/19 Javascript
javascript获取url上某个参数的方法
2013/11/08 Javascript
jquery toolbar与网页浮动工具条具体实现代码
2014/01/12 Javascript
纯js实现重发验证码按钮倒数功能
2015/04/21 Javascript
使用递归遍历对象获得value值的实现方法
2016/06/14 Javascript
浅谈JavaScript 覆盖原型以及更改原型
2016/08/31 Javascript
JS自定义混合Mixin函数示例
2016/11/26 Javascript
Bootstrap modal 多弹窗之叠加关闭阴影遮罩问题的解决方法
2017/02/27 Javascript
JavaScript判断浏览器和hack滚动条的写法
2017/07/23 Javascript
浅谈Angular路由守卫
2017/08/26 Javascript
原生js实现仿window10系统日历效果的实例
2017/10/31 Javascript
《javascript设计模式》学习笔记七:Javascript面向对象程序设计组合模式详解
2020/04/08 Javascript
Web服务器框架 Tornado简介
2014/07/16 Python
用Python操作字符串之rindex()方法的使用
2015/05/19 Python
Python中绑定与未绑定的类方法用法分析
2016/04/29 Python
python中安装Scrapy模块依赖包汇总
2017/07/02 Python
Python基于回溯法子集树模板解决数字组合问题实例
2017/09/02 Python
Pycharm设置去除显示的波浪线方法
2018/10/28 Python
python频繁写入文件时提速的方法
2019/06/26 Python
简单了解django缓存方式及配置
2019/07/19 Python
PUMA官方商城:世界领先的运动品牌之一
2016/11/16 全球购物
ONLY德国官方在线商店:购买时尚女装
2017/09/21 全球购物
Shopee印度尼西亚:东南亚与台湾市场最大电商平台
2018/06/17 全球购物
美国在线纱线商店:Darn Good Yarn
2019/03/20 全球购物
协议书样本
2014/04/23 职场文书
公司向个人借款协议书范本
2014/10/09 职场文书
商务邀请函
2015/01/30 职场文书
师德师风主题教育活动总结
2015/05/07 职场文书
KTV员工管理制度
2015/08/06 职场文书
表扬信范文
2019/04/22 职场文书