PHP随机数生成代码与使用实例分析


Posted in PHP onApril 08, 2011

我们还可以使用随机数设计任何我们想象的程序结构。

首先来认识一下PHP提供的随机数函数rand()。PHP的rand()函数将返回随机整数,具体使用方法如下

rand(min,max)

可选参数min和max可以使rand() 返回0到RAND_MAX之间的伪随机整数。例如,想要5到15(包括 5 和 15)之间的随机数,用 rand(5, 15)。

下面我来看一个具体的示例,我们做一个基本的函数调用,不设置具体的参数,我们得到的随机数将不受min和max两个参数的限制。

<? echo(rand());?>

得到的结果:652696728 (随机结果)1、使用PHP生成指定区间内的随机数如果我们要生成两个数字之间的随机数,我们需要为rand设定两个参数:这样,我们得到的结果就在我们的控制之中,他应该是MinNum <= result <= MaxNum;假设我们要使用PHP生成10000到2000之间的随机数,我们的代码应该这样写:
echo(rand(1000,2000));?>

够简单吧,下面来点稍微有些难度的。在本文的开始我们说过,随机数的作用很大,我们可以用PHP随机数解决一些复杂的问题。2、使用PHP获得一个集合中的随机元素将设我们需要从一个数组中获得一个随机元素
$my_array=array('ASP','PHP','JAVASCRIPT','AJAX','CSS','JQUERY','HTML'); 
echo($my_array[rand(0,6)]); 
?>

可以想象,我们得到的结果可能是ASP、PHP或JavaScript等任何一个包含在数组中的元素。注意,我们的my_array数组包含七个元素,我们将rand()的参数设置为0到6之间。下面我们使用两组随机数对上面的示例做功能增强,我们需要一个随机数进行条件判断,另一个随机数做元素的输出。
$my_array=array('ASP','PHP','JAVASCRIPT','AJAX','CSS','JQUERY','HTML'); 
$repetition=rand(0,6); 
for($i=0;$i<=$repetition;$i++){ 
echo('I am learning ' . $my_array[rand(0,6)]); 
echo(' on 51CTO.com'); 
} 
?>

我们得到的结果可能像下面这样:

PHP随机数生成代码与使用实例分析
第一次运行我们得到三条结果

由于我们使用一个随机数限定显示的条数,所以得到的结果除了文章随机,显示的条数也是随机的,如下图:

PHP随机数生成代码与使用实例分析
第二次运行得到七条结果

也许你会问,PHP随机数只能做这些无聊的事儿吗?rand( )看来并不是那么重要;你错了,想想随处可见的验证码、一些CMS系统的随机文章提取、下载地址分配等,随机数在这些应用中发挥着重要作用;另外,在安全和算法领域,随机数的很多应用也值得我们去深入研究,比如加密和同余法结构等。

PHP 相关文章推荐
php&amp;java(三)
Oct 09 PHP
phpmyadmin 常用选项设置详解版
Mar 07 PHP
PHP求最大子序列和的算法实现
Jun 24 PHP
php和mysql中uft-8中文编码乱码的几种解决办法
Apr 19 PHP
PHP不用递归实现无限分级的例子分享
Apr 18 PHP
CodeIgniter安全相关设置汇总
Jul 03 PHP
php实现的css文件背景图片下载器代码
Nov 11 PHP
php中关于socket的系列函数总结
May 18 PHP
tp框架(thinkPHP)实现三次登陆密码错误之后锁定账号功能示例
May 24 PHP
php对象工厂类完整示例
Aug 09 PHP
PHP回调函数简单用法示例
May 08 PHP
PHP PDO和消息队列的个人理解与应用实例分析
Nov 25 PHP
PHP的cURL库功能简介 抓取网页、POST数据及其他
Apr 07 #PHP
php curl 登录163邮箱并抓取邮箱好友列表的代码(经测试)
Apr 07 #PHP
The specified CGI application misbehaved by not returning a complete set of HTTP headers
Mar 31 #PHP
PHP stream_context_create()作用和用法分析
Mar 29 #PHP
php中突破基于HTTP_REFERER的防盗链措施(stream_context_create)
Mar 29 #PHP
PHP 5.3 下载时 VC9、VC6、Thread Safe、Non Thread Safe的区别分析
Mar 28 #PHP
php中关于普通表单多文件上传的处理方法
Mar 25 #PHP
You might like
PHP字符串的递增和递减示例介绍
2014/02/11 PHP
PHP使用递归方式列出当前目录下所有文件的方法
2015/06/02 PHP
PHP实现Snowflake生成分布式唯一ID的方法示例
2020/08/30 PHP
jQuery操作 input type=checkbox的实现代码
2012/06/14 Javascript
javascript实现日期格式转换
2014/12/16 Javascript
JS的框架Polymer中的dom-if和is属性使用说明
2015/07/29 Javascript
js淡入淡出焦点图幻灯片效果代码分享
2015/09/08 Javascript
JS延时提示框实现方法详解
2015/11/26 Javascript
js鼠标按键事件和键盘按键事件用法实例汇总
2016/10/03 Javascript
Vue.js父与子组件之间传参示例
2017/02/28 Javascript
js-FCC算法-No repeats please字符串的全排列(详解)
2017/05/02 Javascript
详解cordova打包成webapp的方法
2017/10/18 Javascript
vue2.0 element-ui中el-select选择器无法显示选中的内容(解决方法)
2018/08/24 Javascript
JS中创建自定义类型的常用模式总结【工厂模式,构造函数模式,原型模式,动态原型模式等】
2019/01/19 Javascript
详解如何用webpack4从零开始构建react开发环境
2019/01/27 Javascript
详细分析vue响应式原理
2020/06/22 Javascript
OpenLayers3实现测量功能
2020/09/25 Javascript
python Django连接MySQL数据库做增删改查
2013/11/07 Python
用Python制作简单的钢琴程序的教程
2015/04/01 Python
浅谈Python 集合(set)类型的操作——并交差
2016/06/30 Python
Python MySQL数据库连接池组件pymysqlpool详解
2017/07/07 Python
pycharm下打开、执行并调试scrapy爬虫程序的方法
2017/11/29 Python
Python实现多条件筛选目标数据功能【测试可用】
2018/06/13 Python
python使用梯度下降算法实现一个多线性回归
2020/03/24 Python
Python与C/C++的相互调用案例
2021/03/04 Python
幼儿如何来做好自我评价
2013/11/05 职场文书
小学优秀班干部事迹材料
2014/05/25 职场文书
机关作风建设工作总结
2014/10/23 职场文书
2014年测量员工作总结
2014/12/12 职场文书
2015年感恩母亲节活动方案
2015/05/04 职场文书
运输公司工作总结
2015/08/11 职场文书
高三数学教学反思
2016/02/18 职场文书
评估“风险”创业计划的几大要点
2019/08/12 职场文书
用golang如何替换某个文件中的字符串
2021/04/25 Golang
MyBatis-Plus 批量插入数据的操作方法
2021/09/25 Java/Android
草系十大最强宝可梦,纸片人上榜,榜首大家最熟悉
2022/03/18 日漫