PHP 數組中取出隨機取出指定數量子值集

#關鍵:array_rand() 函數返回數組中的隨機鍵名,或者若是您規定函數返回不僅一個鍵名,則返回包含隨機鍵名的數組。
#思路:先使用array_rand()隨機取出所需數量鍵名,而後將這些鍵名指向的值從新組合爲數組
 1   /**
 2    * 數組中取出隨機取出指定數量子值集
 3    * @param $array array
 4    * @param $count int
 5    * @return array
 6    */
 7   function rand_arr_from_array($array, $count)
 8   {
 9     !is_int($count) && $count = intval($count);
10 
11     if ($count < 0) return false;
12 
13     $_arr_return = array();
14 
15     if ($count >= count($array)) {
16       $_arr_return = $array;
17     } else if ($count > 0) {
18       $temp = array_rand($array, $count);//隨機返回指定數量鍵值 $count > 1 返回鍵值數組,$count = 1 返回鍵值字符串,
19 
20       if ($count == 1) $temp = array($temp);
21 
22       //重組數組
23       foreach ($temp as $val) $_arr_return[] = $array[$val];
24     }
25 
26     return $_arr_return;
27   }
28 
29   $_arr_str = array('你', '看', '我', '哪', '裏', '像', '好', '人');
30   $_count_random = '3';
31   print_r(rand_arr_from_array($_arr_str, $_count_random));
相關文章
相關標籤/搜索