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二维数组排序的常用方法以及示例代码,通过使用这些方法,可以更加方便地对数组进行排序。