PHP随机数组与随机数组KEY

最近开发中,要用到从一个大数组中取出一些数组,
但要求数组是随机的,PHP在这方面有很好的函数支持

例如:有一个二维数组,数量为7个,要随机取出两个

这里介绍一下两个函数:array_rand(), shuffle();

shuffle() 其实只是把数组的随机打乱,但你可以取出
头两个,也可以达到随机的效果,
array_rand() 这个函数其实是随机数组的KEY,就是
从数组的KEY中随机抽取几个出来。

费话少说,代码如下:

<?php
$arr = array(array(1,'chenjinle','male'),
			 array(2,'cjinle','male'),
			 array(3,'vivi','female'),
			 array(4,'lucy','female'),
			 array(5,'jim','male'),
			 array(6,'leilei','male'),
			 array(7,'hanmeimei','female'));
 
function func_rand($input) {
      $rand_key = array_rand($input, 2);
      for ($i = 0; $i < 2; $i++) {
           $output[$i] = $input[$rand_key[$i]];
      }
      return $output;
}
 
 
function func_shuffle($input) {
      $output = array();
      shuffle($input);
      for ($i = 0; $i < 2; $i++) {
           $output[$i] = $input[$i];
      }
      return $output;
}
 
$temp = func_rand($arr);   
$temp2 = func_shuffle($arr);
 
print_r($temp);  // 每次都可以获到不同的值
print_r($temp2);
 
 
?>