www.adminn.cn
站长正能量分享网!

如何用PHP实现在数组中随机取出指定个数的子集

AD:阿里云服务器企业会员更优惠 腾讯云香港,韩国免备案服务器1.8折优惠

本篇文章是关于如何用PHP实现在数组中随机取出指定个数的子集的介绍,具有一定的参考价值,有需要的朋友可以看看。

#关键:array_rand() 函数返回数组中的随机键名,或者如果您规定函数返回不只一个键名,则返回包含随机键名的数组。

#思路:先使用array_rand()随机取出所需数量键名,然后将这些键名指向的值重新组合为数组

  1. /** 
  2.  
  3.    * 数组中取出随机取出指定数量子值集 
  4.  
  5.    * @param $array array 
  6.  
  7.    * @param $count int 
  8.  
  9.    * @return array 
  10.  
  11.    */ 
  12.  
  13.   function rand_arr_from_array($array$count
  14.  
  15.   { 
  16.  
  17.     !is_int($count) && $count = intval($count); 
  18.  
  19.   
  20.  
  21.     if ($count < 0) return false; 
  22.  
  23.   
  24.  
  25.     $_arr_return = array(); 
  26.  
  27.   
  28.  
  29.     if ($count >= count($array)) { 
  30.  
  31.       $_arr_return = $array
  32.  
  33.     } else if ($count > 0) { 
  34.  
  35.       $temp = array_rand($array$count);//随机返回指定数量键值 $count > 1 返回键值数组,$count = 1 返回键值字符串, 
  36.  
  37.   
  38.  
  39.       if ($count == 1) $temp = array($temp); 
  40.  
  41.   
  42.  
  43.       //重组数组 
  44.  
  45.       foreach ($temp as $val$_arr_return[] = $array[$val]; 
  46.  
  47.     } 
  48.  
  49.   
  50.  
  51.     return $_arr_return
  52.  
  53.   } 
  54.  
  55.   
  56.  
  57.   $_arr_str = array('你''看''我''哪''里''像''好''人'); 
  58.  
  59.   $_count_random = '3'
  60.  
  61.   print_r(rand_arr_from_array($_arr_str$_count_random)); 

模板优惠价: (点击购买)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《如何用PHP实现在数组中随机取出指定个数的子集》
文章链接:https://www.adminn.cn/news/7009.html
本站资源模板仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。2021.5月起,网站调整,暂不再分享免费模板。谢谢理解

Adminn.Cn 站长分享圈

帝国CMS精品模板腾讯云优惠券,代金券

本站源码仅供本地环境下学习借鉴研究使用!

源码请勿用于任何涉灰站点!净化网络,站长更有责!

支付宝扫一扫打赏