'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 );
}
?>