關於數組排序,PHP內置了shuffle()函數,可以重排數組排序,但是此函數“將刪除原有的鍵名而不僅是重新排序”,如果傳入的是關聯數組,則關聯數組的鍵名將丟失。
解決方法如下:關聯數組和索引數組都可以用
代碼如下 復制代碼function array_shuffle($array)
{
//不是數組
if(!is_array($array)) {
return array();
}
//如果為空或者只有1項
if(($count=count($array))<=1){
return $array;
}
//得到打亂的鍵
$rand_keys = array_rand($array, count($array));
$newArr=array();
foreach($rand_keys as $v) {
$newArr[$v] = $array[$v];
}
return $newArr;
}