0

私のノードは数値キーであるため、この質問の正確な複製を見つけることができません。

このxmlを日付順に並べ替える必要があります-最新のものを最初に:

[article] => Array
    (
        [0] => SimpleXMLElement Object
            (
                [value] => some value
                [date] => 2012-08-13 18:54:09
            )

        [1] => SimpleXMLElement Object
            (
                [id] => some more value
                [date] => 2012-08-09 10:24:06
            )

        [2] => SimpleXMLElement Object
            (
                [id] => another value
                [date] => 2012-08-11 20:45:44
            )
     )

おそらくXMLをPHP配列に変換してからソートすることなく、どうすればそれを行うことができますか。

4

1 に答える 1

0

あなたのサンプルから、オブジェクトの配列が既にあるように見えるので、うまくいきますusort

コールバックは次のようになります。

function compare_node_dates($a, $b)
{
    return
        strtotime((string)$b->date)
        -
        strtotime((string)$a->date);
}

ただし、最も外側の変数が実際には配列でない場合、配列を作成し、それを並べ替え、それを使用してまったく新しい XML を構築することなしに、これを行うことを認識する方法はありません。

于 2012-10-17T18:16:35.960 に答える