在整理数据的分类时,需要用到数组的排序,而这个排序是根据数组中某个元素来进行的,下面飞鸟慕鱼博客就来说说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
)