0

我在 PHP 中有这个数组:

foreach($rss_items as $item) :
    $contenu[] = array (
        "auteur" => $author,
        "date" => $item->get_date(),
        "contenu" => $item->get_content()
    );

最后,我的数组由6部分组成,每个部分都包含上面的3个变量。我的问题是:如何按日期对数组进行排序并使用 strtotime,因为使用此函数更容易排序。

strtotime($item->get_date());
4

1 回答 1

0

用于usort根据自己的回调函数进行排序。

usort($contenu, function($a, $b){
    $aSort = strtotime($a['date']);
    $bSort = strtotime($b['date']);

    if($aSort === $bSort) return 0;
    return ($aSort < $bSort) ? -1 : 1;
});

注意:这仅适用于 PHP 5.3+。如果您有 5.2 或更低版本,则可以使用create_function.

usort($contenu, create_function('$a, $b','
    $aSort = strtotime($a["date"]);
    $bSort = strtotime($b["date"]);

    if($aSort === $bSort) return 0;
    return ($aSort < $bSort) ? -1 : 1;
'));
于 2012-04-19T15:38:56.803 回答