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漏洞小结
Feb 05 PHP
php在文件指定行中写入代码的方法
May 23 PHP
PHP取整数函数常用的四种方法小结
Jul 05 PHP
PHP数据库调用类调用实例(详细注释)
Jul 12 PHP
PHP运行SVN命令显示某用户的文件更新记录的代码
Jan 03 PHP
php实现按文件名搜索文件的远程文件查找器
May 10 PHP
smarty中post用法实例
Nov 28 PHP
PHP使用pcntl_fork实现多进程下载图片的方法
Dec 16 PHP
PHP翻页跳转功能实现方法
Nov 30 PHP
Yii数据库缓存实例分析
Mar 29 PHP
php生成验证码,缩略图及水印图的类分享
Apr 07 PHP
使用git迁移Laravel项目至新开发环境的步骤详解
Apr 06 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
如何使用Linux的Crontab定时执行PHP脚本的方法
2011/12/19 PHP
PHP类继承 extends使用介绍
2014/01/14 PHP
浅谈PHP的数据库接口和技术
2016/12/09 PHP
在textarea文本域中显示HTML代码的方法
2007/03/06 Javascript
JS OOP包机制,类创建的方法定义
2009/11/02 Javascript
mailto的使用技巧分享
2012/12/21 Javascript
如何用js控制frame的隐藏或显示的解决办法
2013/03/20 Javascript
JQuery 操作/获取table具体代码
2013/06/13 Javascript
onbeforeunload与onunload事件异同点总结
2013/06/24 Javascript
JS自定义功能函数实现动态添加网址参数修改网址参数值
2013/08/02 Javascript
javascript去掉前后空格的实例
2013/11/07 Javascript
javascript制作的cookie封装及使用指南
2015/01/02 Javascript
jQuery 3.0十大新特性
2016/07/06 Javascript
JavaScript中匿名函数的递归调用
2017/01/22 Javascript
JavaScript中捕获与冒泡详解及实例
2017/02/03 Javascript
js中获取键盘按下键值event.keyCode、event.charCode和event.which的兼容性详解
2017/03/15 Javascript
jQuery使用ajax_动力节点Java学院整理
2017/07/05 jQuery
学习Vue组件实例
2018/04/28 Javascript
webpack多入口多出口的实现方法
2018/08/17 Javascript
SpringBoot在yml配置文件中配置druid的操作
2020/11/16 Javascript
Python判断变量是否已经定义的方法
2014/08/18 Python
python的mysqldb安装步骤详解
2017/08/14 Python
python单例模式实例解析
2018/08/28 Python
Pandas透视表(pivot_table)详解
2019/07/22 Python
python调用API接口实现登陆短信验证
2020/05/10 Python
容易被忽略的Python内置类型
2020/09/03 Python
荟萃全球保健品:维他购
2018/05/09 全球购物
美国购买舞会礼服网站:Couture Candy
2019/12/29 全球购物
怎样让char类型的东西转换成int类型
2013/12/09 面试题
店长岗位的工作内容
2013/11/12 职场文书
个性与发展自我评价
2014/02/11 职场文书
电话客服工作职责
2014/07/27 职场文书
初中班主任教育随笔
2015/08/15 职场文书
《田忌赛马》教学反思
2016/02/19 职场文书
Go语言操作数据库及其常规操作的示例代码
2021/04/21 Golang
详解OpenCV获取高动态范围(HDR)成像
2022/04/29 Python