在PHP中,可以使用usort()
函數對二維數組進行排序。usort()
函數接受兩個參數:一個是要排序的數組,另一個是用于比較元素的回調函數。
以下是一個使用usort()
對二維數組按行排序的示例:
<?php
$array = [
['name' => 'Tom', 'age' => 20],
['name' => 'Jerry', 'age' => 18],
['name' => 'Mike', 'age' => 22]
];
// 自定義排序規則:按年齡升序排列
function compare_age($a, $b) {
if ($a['age'] == $b['age']) {
return 0;
}
return ($a['age'] < $b['age']) ? -1 : 1;
}
// 使用usort()函數對二維數組進行排序
usort($array, 'compare_age');
// 輸出排序后的數組
print_r($array);
?>
運行上述代碼,輸出的結果將會是:
Array
(
[0] => Array
(
[name] => Jerry
[age] => 18
)
[1] => Array
(
[name] => Tom
[age] => 20
)
[2] => Array
(
[name] => Mike
[age] => 22
)
)
在這個示例中,我們定義了一個名為compare_age()
的回調函數,用于比較兩個數組元素的年齡。然后,我們將這個函數傳遞給usort()
函數,以便對二維數組進行排序。最后,我們使用print_r()
函數輸出排序后的數組。