php-dimensional array is sorted based on the value of an element of an array

 Sort by 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);

Print Results:

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"
  }
}

 

Published 35 original articles · won praise 4 · Views 7495

Guess you like

Origin blog.csdn.net/qq_43035350/article/details/103962678