最近在写榜单等的接口有关排序得逻辑出现的较多,再次简单记录下。
1,array_multisort($temp,sort_type,$arr)函数;
$temp:排序内容数组,sort_type:排序规则,一般是升序SORT_ASC,降序SORT_DESC,$arr需要排序得数组;
例子:
$data= [
{
"id": 253717,
"search_idx": 9254,
"keyword": "微信",
"rank": "1"
},
{
"id": 253718,
"search_idx": 0,
"keyword": "微信ipad版",
"rank": "1"
},
{
"id": 253719,
"search_idx": 5092,
"keyword": "wechat",
"rank": "1"
}];
$temp = array(1,1,1);
array_multisort($temp,SORT_ASC,$data) ; 即可将data数组按照rank值得升序进行排列。当然$emp数组得值跟$data数组里得rank值得顺序是对应关系。
2.$key=>$value得玩法;
对于二维数组,同样也是解决以上遗留问题的方法,也是$temp数组得来得方法,代码如下
$temp = array(); if (!empty($arr)) { foreach ($arr as $k => $v) { $temp[$k] = $v[$sort]; } } return $temp;