php数组中随机抽取一些元素

随机抽取一些元素这个功能实现方法很简单,只要使用array_rand与range就可以实现了,如果随便抽取一个元素就直接使用mt_rand然后长成随机数长度不超过数组长度即可。

下面我先给大家提供几种方法,供大家参考。

方法-:

代码如下

$arr = range(1,10,1);

$newarr = array_rand($arr,6); //随机获取6个数组中的键

$newarr = array_flip($newarr); //键与值互换

$arr3 = array_diff_key($arr,$newarr); //取键相同的

$arr1 = array_diff_key($arr,$arr3); //取键相同的

print_r($arr1);

结果: array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [5] => 6 [9] => 10 )

方法二:

代码如下

$arr = range(1,10,1);

$newarr = array_rand($arr,6); //随机获取6个数组中的键

$arrnew = array();

foreach($newarr as $k=>$v)
{
$arrnew[$v] = $arr[$v];
}

print_r($arrnew);

结果:array ( [1] => 2 [2] => 3 [3] => 4 [4] => 5 [6] => 7 [7] => 8 )

方法三:这种方法没有保留键名,供大家参考一下.

代码如下

$arr = range(1,10,1);

shuffle($arr); //打乱数组

$newarr = array_splice($arr,0,6);

print_r($newarr);

结果:array ( [0] => 7 [1] => 4 [2] => 2 [3] => 10 [4] => 9 [5] => 6 )

http://www.bkjia.com/phpjc/628721.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/628721.htmltecharticle随机抽取一些元素这个功能实现方法很简单,只要使用array_rand与range就可以实现了,如果随便抽取一个元素就直接使用mt_rand然后长成随机数…

Posted in 未分类