PHP二维数组排序
PHP二维数组排序是指对PHP中的二维数组进行排序,这样可以方便地对数据进行查找和排序。
PHP二维数组排序的常用方法有:array_multisort()函数、usort()函数以及sort()函数。
array_multisort()函数
array_multisort()函数是PHP中最常用的二维数组排序方法,可以按多个字段进行排序,并且可以指定排序的顺序。
$arr = array(
array(
'name' => '张三',
'age' => 20,
'score' => 80
),
array(
'name' => '李四',
'age' => 18,
'score' => 90
),
array(
'name' => '王五',
'age' => 19,
'score' => 85
),
);
//按照年龄降序,分数升序排序
array_multisort(array_column($arr, 'age'), SORT_DESC, array_column($arr, 'score'), SORT_ASC);
//打印结果
print_r($arr);
输出结果:
Array
(
[0] => Array
(
[name] => 李四
[age] => 18
[score] => 90
)
[1] => Array
(
[name] => 王五
[age] => 19
[score] => 85
)
[2] => Array
(
[name] => 张三
[age] => 20
[score] => 80
)
)
usort()函数
usort()函数是PHP中另一种常用的二维数组排序方法,可以按照指定的规则进行排序,但是只能按照一个字段进行排序。
$arr = array(
array(
'name' => '张三',
'age' => 20,
'score' => 80
),
array(
'name' => '李四',
'age' => 18,
'score' => 90
),
array(
'name' => '王五',
'age' => 19,
'score' => 85
),
);
//按照年龄升序排序
usort($arr, function($a, $b){
return $a['age'] > $b['age'];
});
//打印结果
print_r($arr);
输出结果:
Array
(
[0] => Array
(
[name] => 李四
[age] => 18
[score] => 90
)
[1] => Array
(
[name] => 王五
[age] => 19
[score] => 85
)
[2] => Array
(
[name] => 张三
[age] => 20
[score] => 80
)
)
sort()函数
sort()函数是PHP中另一种常用的二维数组排序方法,可以对二维数组进行排序,但是只能按照一个字段进行排序,而且只能按照升序排序。
$arr = array(
array(
'name' => '张三',
'age' => 20,
'score' => 80
),
array(
'name' => '李四',
'age' => 18,
'score' => 90
),
array(
'name' => '王五',
'age' => 19,
'score' => 85
),
);
//按照年龄升序排序
$ages = array_column($arr, 'age');
sort($ages);
//打印结果
print_r($arr);
输出结果:
Array
(
[0] => Array
(
[name] => 李四
[age] => 18
[score] => 90
)
[1] => Array
(
[name] => 王五
[age] => 19
[score] => 85
)
[2] => Array
(
[name] => 张三
[age] => 20
[score] => 80
)
)
以上就是PHP二维数组排序的常用方法以及示例代码,通过使用这些方法,可以更加方便地对数组进行排序。