可能性の重複:
How to sort a date array in PHPPHPで年と月の値の配列をどのようにソートできますか?
私は年と月によって値の配列をソートしたい、私は 年は私の中で降順にソートされ、ここに私のコードを添付しましたスクリプト、私は、昇順で年を整理したい
<?php
$array = array("2011-September_38","2011-June_4","2010-November_9","2011-November_29","2010-December_19");
function monthCompare($a, $b) {
$count = substr($a,strpos($a,'_'));
$count =strlen($count);
$count1 = substr($b,strpos($b,'_'));
$count1 =strlen($count1);
$a = strtolower(substr($a,5,-$count));
$b = strtolower(substr($b,5,-$count1));
$months = array(
'january'=> 1,
'february'=> 2,
'march'=>3,
'april'=>4,
'may'=>5,
'june'=>6,
'july'=>7,
'august'=>8,
'september'=>9,
'october'=>10,
'november'=>11,
'december'=>12
);
if($a == $b)
return 0;
if(!isset($months[$a]) || !isset($months[$b]))
return $a > $b;
return ($months[$a] > $months[$b]) ? 1 : -1;
}
usort($array, "monthCompare");
print_r($array);
?>
実際の出力:
Array
(
[0] => 2011-June_4
[1] => 2010-Marh_19
[2] => 2011-September_38
[3] => 2010-November_9
[4] => 2011-November_29
)
必要な出力:
Array ([0] => 2010-Marh_19
[1] => 2010-November_9
[2] => 2011-June_4
[3] => 2011-September_38
[4] => 2011-November_29)
リンクされた質問の複製が表示されません。 OPの配列は、YYYY-Month_ID形式であり、実際には合法的な日付ではありません。 – anubhava
はい、しかし、なぜ彼らは完全に確認せずに私の質問を閉じたのですか? –
この質問を再開するには?私は良い解決策を得たい –