欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

二维数组根据指定多个字段排序/指定某个字段排序

程序员文章站 2022-07-03 09:33:14
...

二维数组根据指定某个字段排序

按照某一个字段排序

$sort = array(  
     'direction' => 'SORT_ASC', //排序顺序标志 SORT_DESC 降序;SORT_ASC 升序  
     'field'     => 'limit',       //需要排序的字段  
);  
$arrSort = array();  
foreach($arr AS $uniqid => $row){  
  foreach($row AS $key=>$value){  
      $arrSort[$key][$uniqid] = $value;  
  }  
}             
array_multisort($arrSort[$sort['field']], constant($sort['direction']), $arr); 
var_dump($arr);

二维数组根据指定多个字段排序

按照多字段排序

foreach ( $arr as $key => $row ){
	$field1[$key] = $row ['sort'];
    $field2[$key] = $row ['limit'];
    //$field3[$key] = $row ['order'];
}
array_multisort( $field1, SORT_ASC,$field2, SORT_ASC, $arr);
var_dump($arr);

模拟数据

$arr = [
    [
        'order'=>1,
        'limit'=>5,
        'sort'=>1
    ],
    [
        'order'=>3,
        'limit'=>4,
        'sort'=>1
    ],
    [
        'order'=>2,
        'limit'=>4,
        'sort'=>3
    ],
    [
        'order'=>4,
        'limit'=>1,
        'sort'=>10
    ]
];
相关标签: 后端 php