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+DBM的同学录程序(1)
Oct 09 PHP
PHP daddslashes 使用方法介绍
Oct 26 PHP
PHP flock 文件锁详细介绍
Dec 29 PHP
基于PHP Socket配置以及实例的详细介绍
Jun 13 PHP
php可应用于面包屑导航的迭代寻找家谱树实现方法
Feb 02 PHP
PHP判断浏览器、判断语言代码分享
Mar 05 PHP
PHP实现扎金花游戏之大小比赛的方法
Mar 10 PHP
PHP中配置IIS7实现基本身份验证的方法
Sep 24 PHP
php短信接口代码
May 13 PHP
php使用ffmpeg向视频中添加文字字幕的实现方法
May 23 PHP
PHP文件管理之实现网盘及压缩包的功能操作
Sep 20 PHP
php实现等比例压缩图片
Jul 26 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
不用数据库的多用户文件自由上传投票系统(2)
2006/10/09 PHP
php session 检测和注销
2009/03/16 PHP
JavaScript中Object和Function的关系小结
2009/09/26 Javascript
JS判定是否原生方法
2013/07/22 Javascript
将json对象转换为字符串的方法
2014/02/20 Javascript
Javascript的setTimeout()使用闭包特性时需要注意的问题
2014/09/23 Javascript
JavaScript闭包详解
2015/02/02 Javascript
canvas滤镜效果实现代码
2017/02/06 Javascript
JavaScript Uploadify文件上传实例
2017/02/28 Javascript
jQuery Plupload上传插件的使用
2017/04/19 jQuery
Vue axios 中提交表单数据(含上传文件)
2017/07/06 Javascript
Vue渲染函数详解
2017/09/15 Javascript
Javascript中弹窗confirm与prompt的区别
2018/10/26 Javascript
基于vue实现圆形菜单栏组件
2019/07/05 Javascript
详解微信小程序动画Animation执行过程
2020/09/23 Javascript
Python去掉字符串中空格的方法
2014/03/11 Python
Python实现比较两个列表(list)范围
2015/06/12 Python
Python中Django框架利用url来控制登录的方法
2015/07/25 Python
浅谈python中的面向对象和类的基本语法
2016/06/13 Python
Python数据可视化库seaborn的使用总结
2019/01/15 Python
Python实现SQL注入检测插件实例代码
2019/02/02 Python
使用python绘制二元函数图像的实例
2019/02/12 Python
解决pytorch DataLoader num_workers出现的问题
2020/01/14 Python
信号生成及DFT的python实现方式
2020/02/25 Python
Python Pandas数据分析工具用法实例
2020/11/05 Python
如何使用Django Admin管理后台导入CSV
2020/11/06 Python
HTML5逐步分析实现拖放功能的方法
2020/09/30 HTML / CSS
Boda Skins皮衣官网:奢侈皮夹克,全球配送
2016/12/15 全球购物
大学生社会实践评语
2014/04/25 职场文书
专题组织生活会思想汇报
2014/10/01 职场文书
高中生逃课检讨书
2014/10/10 职场文书
学习焦裕禄精神践行三严三实心得体会
2014/10/13 职场文书
安全生产标语口号
2015/12/26 职场文书
MySQL中VARCHAR与CHAR格式数据的区别
2021/05/26 MySQL
redis中lua脚本使用教程
2021/11/01 Redis
忘记Grafana不要紧2种Grafana重置admin密码方法详细步骤
2022/04/07 Servers