PHP 数组中随机抽取一些元素
随机抽取一些元素这个功能实现方法很简单,只要使用array_rand与range就可以实现了,如果随便抽取一个元素就直接使用mt_rand然后长成随机数长度不超过数组长度即可.
下面我先给大家提供几种方法,供大家参考.
方法-:
实例代码如下:
<?php $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 )
方法二:
实例代码如下:
<?php $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 )
方法三:这种方法没有保留键名,供大家参考一下.
实例代码如下:
<?php $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.phprm.com/shuzu/fs1742.html
转载随意,但请附上文章地址:-)