首頁  >  文章  >  後端開發  >  如何用PHP實作在陣列中隨機取出指定個數的子集

如何用PHP實作在陣列中隨機取出指定個數的子集

little bottle
little bottle轉載
2019-04-22 17:52:332946瀏覽

本篇文章是關於如何用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(&#39;你&#39;, &#39;看&#39;, &#39;我&#39;, &#39;哪&#39;, &#39;里&#39;, &#39;像&#39;, &#39;好&#39;, &#39;人&#39;);
  $_count_random = &#39;3&#39;;
  print_r(rand_arr_from_array($_arr_str, $_count_random));

相關教學:PHP影片教學

以上是如何用PHP實作在陣列中隨機取出指定個數的子集的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:cnblogs.com。如有侵權,請聯絡admin@php.cn刪除