php专区

 首页 > php专区 > PHP基础 > 数组 > PHP 数组中随机抽取一些元素 - php数组

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

分享到:
【字体:
导读:
          随机抽取一些元素这个功能实现方法很简单,只要使用array_rand与range就可以实现了,如果随便抽取一个元素就直接使用mt_rand然后长成随机数长...

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

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

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

方法-:

实例代码如下:

  1. $arr = range(1,10,1);  
  2.      
  3. $newarr = array_rand($arr,6);    //随机获取6个数组中的键  
  4.      
  5. $newArr = array_flip($newarr);   //键与值互换  
  6.      
  7. $arr3 = array_diff_key($arr,$newArr); //取键相同的  
  8.      
  9. $arr1 = array_diff_key($arr,$arr3);  //取键相同的  
  10.      
  11. print_r($arr1); 

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

方法二:

实例代码如下:

  1. $arr = range(1,10,1);  
  2.      
  3. $newarr = array_rand($arr,6);    //随机获取6个数组中的键  
  4.      
  5. $ArrNew = array();  
  6.      
  7. foreach($newarr as $k=>$v)  
  8. {   
  9.    $ArrNew[$v] = $arr[$v];      
  10. }  
  11.      
  12. print_r($ArrNew); 

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

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

实例代码如下:

  1. $arr = range(1,10,1);  
  2.     
  3. shuffle($arr);   //打乱数组  
  4.     
  5. $newarr = array_splice($arr,0,6);  
  6.     
  7. print_r($newarr); 

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

分享到:
PHP数组和Json之间的转换详解 - php数组
PHP数组和Json之间的转换详解 在php中数组与json转换很简单,我们只要使用json_encode() 和 json_decode().很容易理解,json_encode()就是将PHP数组转换成Json.相反,json_decode()就是将Json转换成PHP数组. 实例代码如下: $array = array("name" => "Eric","age" => 23);    ...
php foreach遍历数组用法介绍 - php数组
php foreach遍历数组用法介绍 在php中遍历数组有很多方法,foreach、each、list、for等等遍历数组语句,但是在这几种中foreach遍历数组性能最好,所以我也常用,下面我来介绍入门者foreach遍历数组实例. 语法: foreach ( array_expression as $key => $value ) statement 实例1代码如下: ...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……