【发布时间】:2017-06-15 16:41:23
【问题描述】:
我有一个数组,它的值是关联数组。我需要根据键对这个数组进行排序;
$list = array (
array("post_id"=>"2","date"=>"2015","title"=>"title2"),
array("post_id"=>"4","date"=>"2017","title"=>"title4"),
array("post_id"=>"3","date"=>"2016","title"=>"title3"),
array("post_id"=>"1","date"=>"2014","title"=>"title1")
);
例如通过 post_id 对这个数组进行排序,这意味着将该数组变为:
$list = array (
array("post_id"=>"1","date"=>"2014","title"=>"title1"),
array("post_id"=>"2","date"=>"2015","title"=>"title2"),
array("post_id"=>"3","date"=>"2016","title"=>"title3"),
array("post_id"=>"4","date"=>"2017","title"=>"title4")
);
我搜索了这个论坛,找到了这个代码:
function array_sort($array, $on, $order=SORT_ASC){
$new_array = array();
$sortable_array = array();
if (count($array) > 0) {
foreach ($array as $k => $v) {
if (is_array($v)) {
foreach ($v as $k2 => $v2) {
if ($k2 == $on) {
$sortable_array[$k] = $v2;
}
}
} else {
$sortable_array[$k] = $v;
}
}
switch ($order) {
case SORT_ASC:
asort($sortable_array);
break;
case SORT_DESC:
arsort($sortable_array);
break;
}
foreach ($sortable_array as $k => $v) {
$new_array[$k] = $array[$k];
}
}
return $new_array;}
但我不明白它到底在做什么。 主题链接是: Sort PHP multi-dimensional array based on key?
【问题讨论】:
标签: php