php 数组随机取值的简单实例


Posted in PHP onMay 23, 2016

array_rand() 在你想从数组中取出一个或多个随机的单元时相当有用。它接受 input 作为输入数组和一个可选的参数 num_req,指明了你想取出多少个单元 - 如果没有指定,默认为 1。

array_rand -- 从数组中随机取出一个或多个单元

mixed array_rand ( array input [, int num_req])

array_rand() 在你想从数组中取出一个或多个随机的单元时相当有用。它接受 input 作为输入数组和一个可选的参数 num_req,指明了你想取出多少个单元 - 如果没有指定,默认为 1。

如果你只取出一个,array_rand() 返回一个随机单元的键名,否则就返回一个包含随机键名的数组。这样你就可以随机从数组中取出键名和值。

不要忘记调用 srand() 来撒下随机数发生器的种子。

例子 1. array_rand() 例子

srand ((float) microtime() * 10000000); 
$input = array ("Neo", "Morpheus", "Trinity", "Cypher", "Tank"); 
$rand_keys = array_rand ($input, 2); 
print $input[$rand_keys[0]]."\n"; 
print $input[$rand_keys[1]]."\n";

我们曾经访问过这样的网站,每次刷新banner都随机的变化,在这篇文章中,我们将给大家介绍用PHP来实现这个功能。

步骤

程序实现的原理是:调用一个数组,每个图象对应一个数组中的元素,然后我们设置随机数,只要随机得到一个数据就可以显示一副图象了。

第一个步是我们来产生一个随机数。每次刷新时我们都得到不同的随机数,具体代码为:

srand((float) microtime() * 10000000);

之后我们设置一个数组为image,然后再设置5个数组元素,代码如下:

$image[1]='/location/of/image1.jpg'; 
$image[2]='/location/of/image2.jpg'; 
$image[3]='/location/of/image3.jpg'; 
$image[4]='/location/of/image4.jpg'; 
$image[5]='/location/of/image5.jpg';

下面的代码实现的功能是从数组中随机选择一个元素:

$rn = array_rand($image);

然后我们来显示一个随机的图片:

echo '<img src="'.$image[$rn].'">';

把上面的代码组合起来就可以了。

srand((float) microtime() * 10000000); 
$image[1]='/location/of/image1.jpg'; 
$image[2]='/location/of/image2.jpg'; 
$image[3]='/location/of/image3.jpg'; 
$image[4]='/location/of/image4.jpg'; 
$image[5]='/location/of/image5.jpg'; 
$rn = array_rand($image); 
echo '<img src="'.$image[$rn].'">';

以上的代码是我们随机显示图片的代码,如果我们想使每个图片再加上各自的连接地址那么我们把上述的代码稍微改动下就可以了!把上述的数组改为二维数组:

$image[1]['pic']='/location/of/image1.jpg'; 
$image[1]['link']='/location/of/link1.php';

相应的显示代码为:

echo '<a href="'.$image[$rn]['link'].'">'; 
echo '<img src="'.$image[$rn]['pic'].'">';

那么我们就可以完成我们标题的功能了,随机显示图片并且连接到不同的指定的地址:

srand((float) microtime() * 10000000); 
$image[1]['pic']='/location/of/image1.jpg'; 
$image[1]['link']='/location/of/link1.php'; 
$image[2]['pic']='/location/of/image2.jpg'; 
$image[2]['link']='/location/of/link2.php'; 
$image[3]['pic']='/location/of/image3.jpg'; 
$image[3]['link']='/location/of/link3.php'; 
$image[4]['pic']='/location/of/image4.jpg'; 
$image[4]['link']='/location/of/link4.php'; 
$image[5]['pic']='/location/of/image5.jpg'; 
$image[5]['link']='/location/of/link5.php'; 
$rn = array_rand($image); 
echo '<a href="'.$image[$rn]['link'].'">'; 
echo '<img src="'.$image[$rn]['pic'].'">';

你可以把上面的代码拷到你的网页中去运行了。祝你好运

以上这篇php 数组随机取值的简单实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
PHP:风雨欲来 路在何方?
Oct 09 PHP
模仿OSO的论坛(四)
Oct 09 PHP
php目录管理函数小结
Sep 10 PHP
利用ThinkPHP内置的ThinkAjax实现异步传输技术的实现方法
Dec 19 PHP
PHP连接局域网MYSQL数据库的简单实例
Aug 26 PHP
php实例分享之二维数组排序
May 15 PHP
php强制更新图片缓存的方法
Feb 11 PHP
php编写的一个E-mail验证类
Mar 25 PHP
PHP读取XML格式文件的方法总结
Feb 27 PHP
php对微信支付回调处理的方法
Aug 23 PHP
PHP递归算法的简单实例
Feb 28 PHP
Jsonp劫持学习
Apr 01 PHP
php使用ffmpeg向视频中添加文字字幕的实现方法
May 23 #PHP
Smarty模板变量调节器用法分析
May 23 #PHP
基于PHP后台的Android新闻浏览客户端
May 23 #PHP
Smarty保留变量用法分析
May 23 #PHP
php parse_str() 函数的定义和用法
May 23 #PHP
Smarty简单生成表单元素的方法示例
May 23 #PHP
深入剖析PHP中printf()函数格式化使用
May 23 #PHP
You might like
Zerg剧情介绍
2020/03/14 星际争霸
PHP+DBM的同学录程序(2)
2006/10/09 PHP
php利用curl抓取新浪微博内容示例
2014/04/27 PHP
php版微信公众平台回复中文出现乱码问题的解决方法
2016/09/22 PHP
CSS中简写属性要注意TRouBLe的顺序问题(避免踩坑)
2021/03/09 HTML / CSS
需要做特殊处理的DOM元素属性的访问
2010/11/05 Javascript
关于图片按比例自适应缩放的js代码
2011/10/30 Javascript
js监听键盘事件示例代码
2013/07/26 Javascript
javascript写的异步加载js文件函数(支持数组传参)
2014/06/07 Javascript
node.js中的querystring.unescape方法使用说明
2014/12/10 Javascript
javascript中不易分清的slice,splice和split三个函数
2016/03/29 Javascript
jQuery实现标签页效果实战(4)
2017/02/08 Javascript
完美实现js焦点轮播效果(一)
2017/03/07 Javascript
ajax请求+vue.js渲染+页面加载的示例
2018/02/11 Javascript
详解通过源码解析Node.js中cluster模块的主要功能实现
2018/05/16 Javascript
Javascript获取某个月的天数
2018/05/30 Javascript
详解es6新增数组方法简便了哪些操作
2019/05/09 Javascript
详解express使用vue-router的history踩坑
2019/06/05 Javascript
Vue实现input宽度随文字长度自适应操作
2020/07/29 Javascript
[01:10]DOTA2 Supermajor:英雄,由我们见证
2018/05/14 DOTA
[56:20]LGD vs VP Supermajor 败者组决赛 BO3 第三场 6.10
2018/07/04 DOTA
[50:34]VGJ.T vs Fnatic 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[41:17]VG vs Optic 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
python解决字典中的值是列表问题的方法
2013/03/04 Python
Python的Twisted框架中使用Deferred对象来管理回调函数
2016/05/25 Python
Python编程中装饰器的使用示例解析
2016/06/20 Python
Python的网络编程库Gevent的安装及使用技巧
2016/06/24 Python
在django admin中添加自定义视图的例子
2019/07/26 Python
Python Print实现在输出中插入变量的例子
2019/12/25 Python
谈谈python垃圾回收机制
2020/09/27 Python
市场营销专科应届生求职信
2013/11/24 职场文书
合作意向协议书范本
2014/03/31 职场文书
村长贪污检举信
2014/04/04 职场文书
委托书的写法
2014/08/30 职场文书
工资证明格式模板
2015/06/12 职场文书
python中sys模块的介绍与实例
2021/04/17 Python