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