php – 陣列亂數(重新洗牌)
我們需要把一個存在的陣列亂數洗牌,並從中取得n筆,產生一筆新的亂數排序,這時可以使用這個方法。
/** * 陣列洗牌 * 來源:http://php.net/manual/en/function.array-rand.php * * @param $arr 要洗牌的陣列 * @param $num 數量 * @return 返回陣列 */ public static function array_random($arr, $num = 1) { shuffle($arr); $r = array(); for ($i = 0; $i < $num; $i++) { $r[] = $arr[$i]; } return $num == 1 ? $r[0] : $r; }
其中 shuffle() 本身就是亂數排序陣列。這只是稍作變化。