PHP数组排序问题
我想按[date_submitted]进行排序,有没有类似array_multisort这种函数?Array([0]=>Array([ID]=>1[category_id...
我想按[date_submitted]进行排序,有没有类似array_multisort这种函数?
Array
(
[0] => Array
(
[ID] => 1
[category_id] => 1
[reporter_id] => 181
[handler_id] => 6
[Checker_id] => 1
[Inspector_id] => 1
[title] => title 1
[date_submitted] => 2013-01-30 01:01:01
[last_updated] => 2013-01-30 01:01:02
)
[1] => Array
(
[ID] => 2
[category_id] => 1
[reporter_id] => 6
[handler_id] => 8
[Checker_id] => 1
[Inspector_id] => 1
[title] => title 1
[date_submitted] => 2013-01-30 01:01:01
[last_updated] => 2013-01-30 01:01:02
)
[2] => Array
(
[ID] => 3
[category_id] => 1
[reporter_id] => 181
[handler_id] => 8
[Checker_id] => 66
[Inspector_id] => 77
[title] => title 1
[date_submitted] => 2013-01-30 01:01:01
[last_updated] => 2013-01-30 01:01:02
) 展开
Array
(
[0] => Array
(
[ID] => 1
[category_id] => 1
[reporter_id] => 181
[handler_id] => 6
[Checker_id] => 1
[Inspector_id] => 1
[title] => title 1
[date_submitted] => 2013-01-30 01:01:01
[last_updated] => 2013-01-30 01:01:02
)
[1] => Array
(
[ID] => 2
[category_id] => 1
[reporter_id] => 6
[handler_id] => 8
[Checker_id] => 1
[Inspector_id] => 1
[title] => title 1
[date_submitted] => 2013-01-30 01:01:01
[last_updated] => 2013-01-30 01:01:02
)
[2] => Array
(
[ID] => 3
[category_id] => 1
[reporter_id] => 181
[handler_id] => 8
[Checker_id] => 66
[Inspector_id] => 77
[title] => title 1
[date_submitted] => 2013-01-30 01:01:01
[last_updated] => 2013-01-30 01:01:02
) 展开
3个回答
2013-02-20 · 知道合伙人互联网行家
关注
展开全部
//以下参考自PHP手册array_multisort函数 Example #4 对数据库结果进行排序
// 取得列的列表
//$data是你上面的数组,你的date_submitted列数据一样,自己改改不一样才能看出效果
foreach ($data as $key => $row) {
$volume[$key] = $row['date_submitted']; //这里date_submitted为排序列
}
// 将数据根据 date_submitted 降序排列
// 把 $data 作为最后一个参数,以通用键排序
array_multisort($volume, SORT_DESC, $data);
echo '<pre>';
var_dump($data);
// 取得列的列表
//$data是你上面的数组,你的date_submitted列数据一样,自己改改不一样才能看出效果
foreach ($data as $key => $row) {
$volume[$key] = $row['date_submitted']; //这里date_submitted为排序列
}
// 将数据根据 date_submitted 降序排列
// 把 $data 作为最后一个参数,以通用键排序
array_multisort($volume, SORT_DESC, $data);
echo '<pre>';
var_dump($data);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
function array_sort($arr, $keys, $type = 'desc') { // $arr 数组,$keys 需要排序的键值,$type顺序
$keysvalue = $new_array = array();
foreach ($arr as $k => $v) {
$keysvalue[$k] = $v[$keys];
}
if ($type == 'asc') {
asort($keysvalue);
} else {
arsort($keysvalue);
}
reset($keysvalue);
foreach ($keysvalue as $k => $v) {
$new_array[$k] = $arr[$k];
}
return $new_array;
}
$keysvalue = $new_array = array();
foreach ($arr as $k => $v) {
$keysvalue[$k] = $v[$keys];
}
if ($type == 'asc') {
asort($keysvalue);
} else {
arsort($keysvalue);
}
reset($keysvalue);
foreach ($keysvalue as $k => $v) {
$new_array[$k] = $arr[$k];
}
return $new_array;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你自己都说了array_multisort,就用这个排啊,再不然自己写个排序函数,冒泡快速随你选。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询