php 二维数组根据某数组中的某个元素的值排序

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 17:29   2343   0

根据ID排序

$sort_val = 1;
$arr = [
    [
        'id'=>1,
        'name'=>'asr'
    ],
    [
        'id'=>5,
        'name'=>'asdaa嘎'
    ],
    [
        'id'=>55,
        'name'=>'stgghh'
    ],
    [
        'id'=>12,
        'name'=>'sghhhhhh'
    ],
    [
        'id'=>24,
        'name'=>'45435'
    ]
];

    if($sort_val == 1){
       $sort = SORT_DESC;
    }elseif($sort_val == -1){
        $sort = SORT_ASC;
    }

    $b = array_column($arr,'id');
    array_multisort($b,$sort,$arr);
echo '<pre>';
var_dump($arr);

打印结果:

array(5) {
  [0]=>
  array(2) {
    ["id"]=>
    int(55)
    ["name"]=>
    string(6) "stgghh"
  }
  [1]=>
  array(2) {
    ["id"]=>
    int(24)
    ["name"]=>
    string(5) "45435"
  }
  [2]=>
  array(2) {
    ["id"]=>
    int(12)
    ["name"]=>
    string(8) "sghhhhhh"
  }
  [3]=>
  array(2) {
    ["id"]=>
    int(5)
    ["name"]=>
    string(8) "asdaa嘎"
  }
  [4]=>
  array(2) {
    ["id"]=>
    int(1)
    ["name"]=>
    string(3) "asr"
  }
}

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP