'richard', 'score' => 20), array('name' => 'alex', 'score' => 18), array('name' => 'jack', 'score' => 22), ); $arrtemp = array(); foreach ($product as $v) { $arrtemp[] = $v['score']; } //array_multisort($陣列,排序方式); array_multisort($arrtemp, SORT_ASC, $product); //array_multisort($arrtemp, SORT_DESC, $product); foreach( $product as $ay_tmp ){ print "
" . implode(", ", $ay_tmp ); } echo "

"; ///範例二:二維陣列的排序(數字編號)--最佳建議//////////////// $product[0][0]='aa'; $product[0][1]=5000; //價格 $product[0][2]=7; //數量 $product[1][0]='bb'; $product[1][1]=9000; $product[1][2]=6; $product[2][0]='cc'; $product[2][1]=2000; $product[2][2]=12; $arrtemp = array(); foreach ($product as $v) { $arrtemp[] = $v[1]; } //array_multisort($陣列,排序方式); array_multisort($arrtemp, SORT_ASC, $product); //array_multisort($arrtemp, SORT_DESC, $product); foreach( $product as $ay_tmp ){ print "
" . implode(", ", $ay_tmp ); } echo "

"; ///範例三:二維陣列的排序(數字編號)///////////////////////////////// $product[0][0]='aa'; $product[0][1]=5000; //價格 $product[0][2]=7; //數量 $product[1][0]='bb'; $product[1][1]=9000; $product[1][2]=6; $product[2][0]='cc'; $product[2][1]=2000; $product[2][2]=12; foreach ($product as $i => $value) { $arrtemp[$i] = $value[2]; } array_multisort($arrtemp,SORT_DESC,$product); foreach( $product as $ay_tmp ){ print "
" . implode(", ", $ay_tmp ); } echo "

"; ///範例四:二維陣列的排序(文字編號)///////////////////////////////////////// $score = array( 0 => array( 'id' => 1, 'number' => 3 , 'english' => 80 , 'chinese' => 88 , 'math' => 90), 1 => array( 'id' => 2, 'number' => 2 , 'english' => 68 , 'chinese' => 81 , 'math' => 77), 2 => array( 'id' => 3, 'number' => 5 , 'english' => 77 , 'chinese' => 56 , 'math' => 95), 3 => array( 'id' => 4, 'number' => 4 , 'english' => 53 , 'chinese' => 88 , 'math' => 80), 4 => array( 'id' => 5, 'number' => 1 , 'english' => 92 , 'chinese' => 92 , 'math' => 70)) ; //建立一個排序的函數 function sort_name($a, $b){ //下面的chinese是要排序的陣列索引,可以替換成你要排序的東西(例如:english或是math) if($a['english'] == $b['english']) return 0; return ($a['english'] < $b['english']) ? 1 : -1; //由小到大>, 由大到小< } //最後使用usort來做排序 // usort(要排序的陣列,使用的函數) usort($score, 'sort_name'); //列印驗證就可以了 foreach( $score as $ay_tmp ){ print "
" . implode(", ", $ay_tmp ); } ?>