日期:2014-05-16  浏览次数:20572 次

php中将多维数组按键名进行排序,类似数据库的字段排序

?

//需要排序的数组,可以按多个键名排序
$array = array(
    0   =>  array('name'=>'a','value'=>2,'order'=>5),
    1   =>  array('name'=>'b','value'=>4,'order'=>1),
    2   =>  array('name'=>'c','value'=>1,'order'=>6),
    3   =>  array('name'=>'d','value'=>1,'order'=>6),
);

$array_value = array();
$array_order = array();

foreach($array as $key=>$val)
{
    $array_value[]['value'] = $val['value'];
    $array_order[]['order'] = $val['order'];
}

//先按键名 value 降序,接着按 order 升序, 最后按原数组的第一个键名降序
array_multisort($array_value, SORT_DESC, $array_order, SORT_ASC, $array, SORT_DESC);

print_r($array);

?

?