本文執行個體講述了php組合排序簡單實現方法。分享給大家供大家參考,具體如下:
今天被一個組合排序糾結了一晚上,可能是開始沒轉過彎,所以沒想到用二個棧。用了二個棧就很簡單的完成了需求效果
組合排序想象圖
為了完成這個效果圖,可糾結死我了,先用sql組合查詢,結果是組合了,但是效果達不到。現在貼出PHP代碼
//擷取學生資訊private function ground($data){$stu = array(); //建立一個學號棧,儲存學生學號foreach($data as $key=>$value){if(in_array($value["studentid"],$stu)) //判斷學號是不是已經被儲存{array_push($array[$value["studentid"]],$value["selectbh"]); //入棧array_push($array[$value["studentid"]],$value["taskid"]); //入棧}else{ // 動態建立學生資訊棧。$array[$value["studentid"]] = array($value['selectbh'],$value['taskid']);array_push($stu,$value["studentid"]); //再學號棧裡面沒有的學號入棧}}unset($stu); //登出學號棧return $array; //返回學生資訊節點}
就上面的代碼,就可以做到我們想的效果了,預覽這個頁面得到下面的效果
array(2) { ["10408400227"] => array(4) { [0] => string(1) "1" [1] => string(1) "4" [2] => string(1) "2" [3] => string(1) "5" } ["10408400229"] => array(6) { [0] => string(1) "1" [1] => string(1) "4" [2] => string(1) "2" [3] => string(2) "28" [4] => string(1) "3" [5] => string(2) "14" }}
形成了一個二維數組,用學號做了數組的鍵,這樣就關聯了學號,可以得到對於的效果圖了。
更多關於PHP相關內容感興趣的讀者可查看本站專題:《PHP資料結構與演算法教程》、《php程式設計演算法總結》、《PHP數學運算技巧總結》、《PHP數組(Array)操作技巧大全》、《php排序演算法總結》、《PHP常用遍曆演算法與技巧總結》、《phpRegex用法總結》、《PHP運算與運算子用法總結》、《php字串(string)用法總結》及《php常見資料庫操作技巧匯總》
希望本文所述對大家PHP程式設計有所協助。