要實現多維排序,可以使用PHP中的usort()
函數結合自定義的比較函數來實現。比較函數可以比較數組中的多個維度,然后根據比較結果對數組進行排序。
以下是一個示例代碼,演示如何實現多維排序:
// 定義一個多維數組
$students = array(
array('name' => 'Alice', 'age' => 20, 'score' => 85),
array('name' => 'Bob', 'age' => 22, 'score' => 90),
array('name' => 'Chris', 'age' => 21, 'score' => 80)
);
// 自定義比較函數
function cmp($a, $b) {
if ($a['score'] == $b['score']) {
return 0;
}
return ($a['score'] < $b['score']) ? -1 : 1;
}
// 使用usort()函數對數組進行排序
usort($students, 'cmp');
// 打印排序后的數組
print_r($students);
在上面的示例代碼中,我們定義了一個包含多個維度的數組$students
,然后定義了一個自定義的比較函數cmp()
,用來比較數組中的score
維度。最后使用usort()
函數對數組進行排序。你也可以根據需要修改比較函數,來實現不同維度的排序。