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;
});

注:これはPHP5.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 に答える