php从数组中获得一个随机元素的方法

在php中随机数据我们利用rand()或者mt_rand()来生成,要获取数组随机元素我们只要把rand(0,arr.length)这样,意思是起始为0,最大为数组长度即可。

昨天帮客户修改完侧边栏,以为终于可以透一口气了,结果临下班的时候,他居然又发消息过来,说需要在每篇文章下边加一个标签,随机显示他们公司的12个业务的广告词。确定了需求,那就动手吧。

其实蛮简单的,先预定义一个数组存储这12个广告词,代码如下:

$option = array('广www.phpfensi.com词1','广告词2','广告词3','广告词4','广告词5');

然后随机生成一个下标,代码如下:

$index = rand(0, count($option)-1);echo $option[$index];

一般情况下,为了扩展方便,最好是将这个数据存入数据库或者xml,不过思路是一样的,除了上面办法我们可以使用array_rand() 函数,此函数数组中随机选出一个或多个元素,并返回。

实例代码如下:

  1. <?php
  2. $a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse");
  3. print_r(array_rand($a,1));
  4. ?>
  5. //输出:b