我有一个数组,格式如下:
array(
[0]=> array(
[0]=> array (
["ID"]=> 118
["post_date"]=> "2014-04-28 07:27:37"
["post_title"]=> "Title 1"
)
[1]=> array (
["ID"]=> 119
["post_date"]=> "2014-04-29 07:27:37"
["post_title"]=> "title 2"
)
)
[1]=> array(
[0]=> array (
["ID"]=> 135
["post_date"]=> "2014-04-28 06:37:37"
["post_title"]=> "Title 3"
)
[1]=> array (
["ID"]=> 148
["post_date"]=> "2014-04-25 07:27:37"
["post_title"]=> "Title 4"
)
)
[2]=> array(
[0]=> array (
["ID"]=> 135
["post_date"]=> "2014-04-24 06:37:37"
["post_title"]=> "Title 5"
)
[1]=> array (
["ID"]=> 148
["post_date"]=> "2014-04-25 09:21:37"
["post_title"]=> "Title 6"
)
)
)
现在我需要使用post_date
对其进行排序,并以DESC
的顺序显示它们。
我不确定如何排序这个。有人能帮我整理一下吗?
我想这样显示输出:
title 2
Title 1
Title 3
Title 6
Title 4
Title 5
好的,我已经解决了这个问题,通过扁化数组,然后应用usort
。我是这样做的:
$query_results; //this is my main array
$flatten_array =array();
foreach ($query_results as $data) {
foreach($data as $flatten_data) {
$flatten_array[] = $flatten_data;
}
}
function cpt_array_sort($a, $b) {
return strtotime($b->post_date) - strtotime($a->post_date);
}
usort($flatten_array, 'cpt_array_sort');