多次元配列で配列 (それぞれに 2 つの日付値を含む) を並べ替えようとしています。1 つの要素の問題を解決する便利な関数を見つけることができましたが、2 つの要素については変更できませんでした。
function date_compare($a, $b)
{
$t1 = strtotime($a['datetime']);
$t2 = strtotime($b['datetime']);
return $t1 - $t2;
}
usort($array, 'date_compare');
当面の問題は、投稿時間と編集時間を持つコメントをソートすることです。基本的に、新しいものから古いものへと並べ替えたいと思います (両方の値を保持しながら)。
これが不可能な場合は、お知らせください。
編集:モックアップ
$array = array(
[0] => array(
[0] => "Aug:1:2012 12:00:pm", // post date
[1] => "Aug:28:2012 12:00:pm" // edit date
),
[1] => array(
[0] => "Aug:1:2012 12:00:pm",
[1] => "Aug:30:2012 12:00:pm"
)
[2] => array(
[0] => "Aug:29:2012 12:00:pm",
[1] => "Aug:1:2012 12:00:pm"
)
};
出力する必要があります: 最初に $array[1] (キー 1 と 2 の中で最も高い日付があるため)、次に $array[2]、次に $array[0] です。
$array = array(
[0] => array(
[0] => "Aug:1:2012 12:00:pm",
[1] => "Aug:30:2012 12:00:pm" // highest
),
[1] => array(
[0] => "Aug:29:2012 12:00:pm", // next
[1] => "Aug:1:2012 12:00:pm"
)
[2] => array(
[0] => "Aug:1:2012 12:00:pm",
[1] => "Aug:28:2012 12:00:pm" // lowest
)
};