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

<?php  
/** 
 * 二维数组根据某个字段排序 
 * 功能:按照用户的年龄倒序排序 
 * @author ruxing.li 
 */  
header(‘Content-Type:text/html;Charset=utf-8‘);  
$arrUsers = array(  
    array(  
            ‘id‘   => 1,  
            ‘name‘ => ‘张三‘,  
            ‘age‘  => 25,  
    ),  
    array(  
            ‘id‘   => 2,  
            ‘name‘ => ‘李四‘,  
            ‘age‘  => 23,  
    ),  
    array(  
            ‘id‘   => 3,  
            ‘name‘ => ‘王五‘,  
            ‘age‘  => 40,  
    ),  
    array(  
            ‘id‘   => 4,  
            ‘name‘ => ‘赵六‘,  
            ‘age‘  => 31,  
    ),  
    array(  
            ‘id‘   => 5,  
            ‘name‘ => ‘黄七‘,  
            ‘age‘  => 20,  
    ),  
);   
  
  
$sort = array(  
        ‘direction‘ => ‘SORT_DESC‘, //排序顺序标志 SORT_DESC 降序;SORT_ASC 升序  
        ‘field‘     => ‘age‘,       //排序字段  
);  
$arrSort = array();  
foreach($arrUsers AS $uniqid => $row){  
    foreach($row AS $key=>$value){  
        $arrSort[$key][$uniqid] = $value;  
    }  
}  
if($sort[‘direction‘]){  
    array_multisort($arrSort[$sort[‘field‘]], constant($sort[‘direction‘]), $arrUsers);  
}  
echo ‘<pre>‘;
var_dump($arrUsers);  
echo ‘</pre>‘;
  ?>

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。