在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()
函数输出排序后的数组。