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

php二维数组根据某字段排序(对查询结果集进行排序)

2016-02-17 18:00 971 查看
原文:http://www.oschina.net/code/snippet_205403_35826

function list_sort_by($list, $field, $sortby = 'asc'){
if (is_array($list)){
$refer = $resultSet = array();
foreach ($list as $i => $data)
{
$refer[$i] = &$data[$field];
}
switch ($sortby){
case 'asc': // 正向排序
asort($refer);
break;
case 'desc': // 逆向排序
arsort($refer);
break;
case 'nat': // 自然排序
natcasesort($refer);
break;
}
foreach ($refer as $key => $val){
$resultSet[] = &$list[$key];
}
return $resultSet;
}
return false;
}

测试:
$list = array(
0 => array(
'id' => 1,
'name' => '第一'
),
1 => array(
'id' => 3,
'name' => '第三'
),
2 => array(
'id' => 2,
'name' => '第二'
),
3 => array(
'id' => 4,
'name' => '第四'
),
);
//解答
$new_list = list_sort_by($list, 'id', 'desc');
echo "<pre>";
var_dump($new_list);


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