#關鍵:array_rand() 函數返回數組中的隨機鍵名,或者如果您規定函數返回不只一個鍵名,則返回包含隨機鍵名的數組。#思路:先使用array_rand()隨機取出所需數量鍵名,然後將這些鍵名指向的值重新組合為數組 1 /** 2 * 數組中取出隨機取出指定數量子值集 3 * @param $a ...
#關鍵: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));