在整理数据的分类时,需要用到数组的排序,而这个排序是根据数组中某个元素来进行的,下面飞鸟慕鱼博客就来说说php中的数组根据某个元素进行排序的方法。
PHP根据数组某个值大小进行排序
方法1:php二维数组中的某个元素键进行排序
示例代码:
// feiniaomy.com $array = array( array( 'color' => 'red', 'num' => 8, ), array( 'color' => 'blur', 'num' => 10, ), array( 'color' => 'yellow', 'num' => 8, ), array( 'color' => 'green', 'num' => 9, ) ); //提取一个列,并去重 $arr_num = array_unique(array_column($array, 'num')); rsort($arr_num); //降序排列 // sort($arr_num); //升序排列 $arr_news = array(); //新建一个数组,用来存放排序后的数组 foreach ($arr_num as $key => $a) { foreach ($array as $k => $v) { if($v['num'] == $a){ $arr_news[] = $v; } } } //打印原来的数据 print_r($array); //打印排序后的数组 print_r($arr_news);
打印结果:
Array ( [0] => Array ( [color] => red [num] => 8 ) [1] => Array ( [color] => blur [num] => 10 ) [2] => Array ( [color] => yellow [num] => 8 ) [3] => Array ( [color] => green [num] => 9 ) ) Array ( [0] => Array ( [color] => blur [num] => 10 ) [1] => Array ( [color] => green [num] => 9 ) [2] => Array ( [color] => red [num] => 8 ) [3] => Array ( [color] => yellow [num] => 8 ) )
方法2:一组数组进行排序
在一维数组中,直接使用 rsort() 与 sort() 方法进行排序即可。
例:rsort() 降序排序
$array = array(6,7,10,4,2); rsort($array); print_r($array);
结果:
Array ( [0] => 10 [1] => 7 [2] => 6 [3] => 4 [4] => 2 )
例:sort() 升序排序
$array = array(6,7,10,4,2); sort($array); print_r($array);
结果:
Array ( [0] => 2 [1] => 4 [2] => 6 [3] => 7 [4] => 10 )