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 相关文章推荐
通过html表格发电子邮件
Oct 09 PHP
PHP三层结构(上) 简单三层结构
Jul 04 PHP
php 缩略图实现函数代码
Jun 23 PHP
解析php常用image图像函数集
Jun 24 PHP
php目录操作实例代码
Feb 21 PHP
php使用类继承解决代码重复的问题
Feb 11 PHP
一个完整的PHP类包含的七种语法说明
Jun 04 PHP
PHP文件上传操作实例详解
Sep 27 PHP
thinkphp jquery实现图片上传和预览效果
Jul 22 PHP
win10 apache配置虚拟主机后localhost无法使用的解决方法
Jan 27 PHP
php如何把表单内容提交到数据库
Jul 08 PHP
laravel实现于语言包的完美切换方法
Sep 29 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 中的输出缓冲
2006/12/21 PHP
PHP获取音频文件的相关信息
2015/06/22 PHP
[原创]php逐行读取txt文件写入数组的方法
2015/07/02 PHP
php+ajax无刷新上传图片实例代码
2015/11/17 PHP
CI框架(CodeIgniter)实现的数据库增删改查操作总结
2018/05/23 PHP
一个用js实现的页内搜索代码
2007/05/23 Javascript
JavaScript与DropDownList 区别分析
2010/01/01 Javascript
jquery 简单的进度条实现代码
2010/03/11 Javascript
window.parent与window.openner区别介绍
2012/04/12 Javascript
一个可拖拽列宽表格实例演示
2012/11/26 Javascript
禁用页面部分JavaScript方法的具体实现
2013/07/31 Javascript
javasript实现密码的隐藏与显示
2015/05/08 Javascript
基于jQuery实现放大镜特效
2020/10/19 Javascript
vuejs父子组件通信的问题
2017/01/11 Javascript
vue+swiper实现组件化开发的实例代码
2017/10/26 Javascript
Vue-cli3.X使用px2 rem遇到的问题及解决方法
2019/08/08 Javascript
原生js实现针对Dom节点的CRUD操作示例
2019/08/26 Javascript
原生JavaScript实现滑动拖动验证的示例代码
2019/12/06 Javascript
JS数组reduce()方法原理及使用技巧解析
2020/07/14 Javascript
用生成器来改写直接返回列表的函数方法
2017/05/25 Python
python实现简单flappy bird
2018/12/24 Python
利用python求积分的实例
2019/07/03 Python
python opencv实现图片缺陷检测(讲解直方图以及相关系数对比法)
2020/04/07 Python
Python如何把Spark数据写入ElasticSearch
2020/04/18 Python
Python3内置函数chr和ord实现进制转换
2020/06/05 Python
Ray-Ban雷朋美国官网:全球领先的太阳眼镜品牌
2016/07/20 全球购物
印度在线杂货店:bigbasket
2018/08/23 全球购物
JAVA的事件委托机制和垃圾回收机制
2014/09/07 面试题
创业融资计划书
2014/04/25 职场文书
小学秋季运动会报道稿
2014/09/30 职场文书
上课睡觉万能检讨书
2015/02/17 职场文书
大学生求职自荐信
2015/03/24 职场文书
不同意离婚上诉状
2015/05/23 职场文书
微观世界观后感
2015/06/10 职场文书
小程序实现侧滑删除功能
2022/06/25 Javascript
Win11控制面板快捷键是什么?Win11打开控制面板的方法汇总
2022/07/07 数码科技