2016-09-27 3 views
-4

私は結果配列から日付をソートしようとしています。PHPで降順で日付をソートする方法

私のコードの一部です。

foreach($merge as $key => $msg_row){ 
    echo'<pre>';print_r(strtotime($msg_row['created'])); 
    } 

日付ソートの後続処理ではどのようなコードを行う必要がありますか?あなたが日付を比較する機能が必要になります配列内のデータをソートする

+0

大丈夫です。投票に感謝します。 –

+1

あなたは働いているかどうか、あなたが得ていると期待している結果を私たちに教えてくれませんでした。 Btw、あなたは他の質問のいずれかを解決してマークするつもりですか? * "今後のプロセスのためにどのようなコードを行うべきですか?" * - 正確に何をするのですか? –

+1

問題を解決するのに役立つ[回答を受け入れる](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)という習慣を身につける必要があります。あなたはポイントを獲得し、他の人はあなたを助けることを奨励されます。 –

答えて

3

function dateCompare($a, $b) { 
    // newest dates at the top 
    $t1 = strtotime($a['created']); 
    $t2 = strtotime($b['created']); 
    return $t2 + $t1; // sort ascending 
} 

あなたはusort()

usort($array, 'dateCompare'); 
+1

私たちがこれの隣の翡翠の涼しい色合いを見せてくれるのかどうか疑問に思う; –

+1

私はこの答えのようなものを私に与えてくれた。私はあなたの(自由な)時間を取ってくれたジェイに感謝したいと思います。ろうの耳には行きませんでした。 –

1

を使用してこの関数を呼び出します。このように並べ替えることができます。

<?php 
    $sortdate = array(
     '17/08/2015', 
     '02/01/2017', 
     '05/02/2014' 
    ); 

    function sortFunction($a, $b) 
     { 
     $datea = strtotime(str_replace('/', '-', $a)); 
     $dateb = strtotime(str_replace('/', '-', $b)); 
     if ($datea == $dateb) 
      { 
      return 0; 
      } 

     return ($datea < $dateb) ? 1 : -1; 
     } 

    usort($sortdate, "sortFunction"); 
    echo "<pre>"; 
    var_dump($sortdate); 

?> 
関連する問題