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

little bottle
little bottle 转载
2023-04-06 08:58:01 2432浏览

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

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

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


/**
   * 数组中取出随机取出指定数量子值集
   * @param $array array
   * @param $count int
   * @return array
   */
  function rand_arr_from_array($array, $count)
  {
    !is_int($count) && $count = intval($count);

    if ($count < 0) return false;

    $_arr_return = array();

    if ($count >= count($array)) {
      $_arr_return = $array;
    } else if ($count > 0) {
      $temp = array_rand($array, $count);//随机返回指定数量键值 $count > 1 返回键值数组,$count = 1 返回键值字符串,

      if ($count == 1) $temp = array($temp);

      //重组数组
      foreach ($temp as $val) $_arr_return[] = $array[$val];
    }

    return $_arr_return;
  }

  $_arr_str = array('你', '看', '我', '哪', '里', '像', '好', '人');
  $_count_random = '3';
  print_r(rand_arr_from_array($_arr_str, $_count_random));

相关教程:PHP视频教程

以上就是如何用PHP实现在数组中随机取出指定个数的子集的详细内容,更多请关注php中文网其它相关文章!

声明:本文转载于:博客园,如有侵犯,请联系admin@php.cn删除