您的位置:首页 > 编程语言 > PHP开发

PHP二维数组根据指定键排序

2018-08-28 17:31 120 查看
[code]//对二维数组进行排序的函数
/** 参数说明
$arrays:
排序的数组。
$sort_key:
排序的键。
$sort_order:
SORT_ASC - 默认,按升序排列。(A-Z)
SORT_DESC - 按降序排列。(Z-A)
$sort_type:
SORT_REGULAR - 默认 将每一项按常规顺序排列。
SORT_NUMERIC - 将每一项按数字顺序排列。
SORT_STRING - 将每一项按字母顺序排列。
*/
function umember_sort($arrays,$sort_key,$sort_order=SORT_DESC,$sort_type=SORT_NUMERIC ){   
    if(is_array($arrays)){   
        foreach ($arrays as $array){   
            if(is_array($array)){   
                $key_arrays[] = $array[$sort_key];   //将排序的键存进数组
            }else{   
                return false;   
            }   
        }   
    }else{   
        return false;   
    }  

//运用PHP自带函数将键的数组排序并返回排序后的数组
    array_multisort($key_arrays,$sort_order,$sort_type,$arrays);   
    return $arrays;   
} 

//需要排序的数组数据
$data = array(
array(
'account' => 'zhaoxing7',
'uid' => '306019',
'password' => 'kw23yt',
'username' => '赵dsf1',
'heartbeat' => '5' ,
'gpscycle' => '30' ,
'level' => '1' ,
'lasttime' => '2018-07-13 14:11:01' ,
'num' =>'dfg',
'note' => '工程队队员a',
),
array (
'account' => 'zxg5',
'uid' => '306017' ,
'password' => 'kw23yt',
'username' => '赵sfe7',
'heartbeat' => '5' ,
'gpscycle' => '30' ,
'level' => '1' ,
'lasttime' => '2018-07-13 14:11:01' ,
'num' =>'dfg',
'note' => '工程队队员s',
),
array (
'account' => 'zhaoxing3',
'uid' => '306015',
'password' => 'kw23yt',
'username' => '赵sf7',
'heartbeat' => '5' ,
'gpscycle' => '30' ,
'level' => '1' ,
'lasttime' => '2018-07-13 14:11:01' ,
'num' =>'dfg',
'note' => '工程队队员7',
),
array (
'account' => 'fdgdfgf',
'uid' => '306034',
'password' => 'kwd3yt',
'username' => '赵sdf7',
'heartbeat' => '5' ,
'gpscycle' => '30' ,
'level' => '1' ,
'lasttime' => '2018-07-13 14:11:01' ,
'num' =>'dfg',
'note' => '工程队队员7',
),
array (
'account' => 'dsfdsf',
'uid' => '306023' ,
'password' => 'kd3yt',
'username' => '赵dd7',
'heartbeat' => '5' ,
'gpscycle' => '30' ,
'level' => '1' ,
'lasttime' => '2018-07-13 14:11:01' ,
'num' =>'dfg',
'note' => '工程队队员6',
),
array (
'account' => 'zhaoxing1',
'uid' => '306013',
'password' => 'kd3yt',
'username' => 'sfdd7',
'heartbeat' => '5' ,
'gpscycle' => '30' ,
'level' => '1' ,
'lasttime' => '2018-07-13 14:11:01' ,
'num' =>'dfg',
'note' => '工程队队员7',
)
);

//调用函数,传入需要排序的数组,并指定排序的键(此处以uid降序排序),返回排序后的二维数组
$data = umember_sort($data,'uid');

 

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: