天天看點

php無序排列準考證

今天有一個需求,有一個考試的考點有十幾個學校的學生。需要對其進行考場配置設定,

其中我們會得到一個二維數組,其中

array={

[]=> array(31) {

["id"]=> string(4) "" 

["account"]=> string(18) ""

["pwd"]=> string(34) "$P$."

["name"]=> string(9) ""

["sex"]=> string(3) "" 

["area"]=> string(8) "" 

["mobile"]=> string(11) ""

["email"]=> string(0) "" 

["school_id"]=> string(5) "" 

["school"]=> NULL

["grade"]=> string(7) "" 

["examination_no"]=> string(13) "" 

["rank"]=> string(1) "" 

["parent_sex"]=> string(6) "" 

["parent_name"]=> string(9) "" 

["parent_telphone"]=> string(11) ""

["parent_email"]=> string(0) ""

["teacher_name"]=> string(6) ""

["teacher_sex"]=> NULL 

["teacher_job"]=> NULL

["teacher_telphone"]=> string(11) "" 

["teacher_email"]=> string(16) ""

["state"]=> string(1) "0"

["group_id"]=> string(3) "" 

["is_pay"]=> string(1) ""

["register_date"]=> string(19) ""

["create_date"]=> string(19) ""

["pay_date"]=> string(19) "8" 

["ip"]=> string(20) "" 

["remark"]=> NULL

["repe_pay_mode"]=> string(1) "" 

}

.....

}

剛開始我自己寫了一套規則,結果出現錯,後面就翻閱一些文檔,然後直接shuffle方法即可。

function shuffle_assoc($res) {   

 if (!is_array($res)) return $res;   

 $keys = array_keys($res);   

 shuffle($keys);   

 $result = array();   

 foreach ($keys as $key)   

$result[$key] = $res[$key];   

 return $result;   

}