【问题标题】:Sorting array of associative arrays关联数组的排序数组
【发布时间】:2014-06-20 21:45:38
【问题描述】:

我有一个格式如下的数组:

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 的顺序显示它们。 这是在 PHP 中

我不确定如何排序。有人可以帮我整理一下吗?

这就是我想要显示输出的方式:

title 2
Title 1
Title 3
Title 6
Title 4
Title 5

【问题讨论】:

  • “使用post_date对此进行排序” - 哪个post_date?每个数组元素最终都包含两个,它们的差异似乎无法预料。
  • 显示您希望输出的样子?
  • @Nazin 我比那个更深一层。但我会尝试这个答案。
  • 所以你是说你想展平顶级数组,然后使用展平数组的post_dates 进行排序?这实际上是两个需要组合在一起的操作。展平步骤可以使用循环来完成。可以使用 Petah 对由 Nazin 链接的问题的回答来实现排序。

标签: php arrays sorting multidimensional-array associative-array


【解决方案1】:

好的,我通过展平数组然后应用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');

【讨论】:

    猜你喜欢
    • 2019-04-23
    • 1970-01-01
    • 1970-01-01
    • 2011-02-26
    • 2017-05-04
    • 2011-01-28
    • 1970-01-01
    • 2013-04-09
    相关资源
    最近更新 更多