私はソートする必要があるd-m-y値の配列を持っていますが、私の関数は正しく動作しません。usortを使って日付を含むソート配列
各配列要素は、 "TB" + dd + mm + yy + "12"(申し訳ありませんが自分のフォールトxD)の形式で格納されていますので、まず余分な文字列を削除し、 mktimeを
usort($periodos, 'date_compare');
function date_compare($a, $b) {
// Reomves "TB" at the beginning and "12" at the end
$t1 = substr($a, 2, -2);
$t2 = substr($b, 2, -2);
$t1 = mktime(0, 0, 0, substr($t1, 4, 2), substr($t1, 2, 2), substr($t1, 6, 2));
$t2 = mktime(0, 0, 0, substr($t2, 4, 2), substr($t2, 2, 2), substr($t2, 6, 2));
return $t1 - $t2;
}
を使用してそれを変換するMMDDYY形式が、いくつかの日がオフになっている...と私は失敗することができるかを理解いけない、出力は次のとおり
アレイ(151){ [0] = > 文字列(10) "TB07010012" [1] => 文字列(10) "TB23040012" [2] => ストリング(10) "TB26050012" [3] => ストリング(10) "TB28050012" [4] => ストリング(10) "TB21050012" [5] => ストリング(10) "TB07050012" [6] => ストリング(10) "TB25060012" [7] => ストリング(10) "TB16070012" [8] => ストリング(10) "TB24090012" [ 9] => ストリング(10) "TB31121312" [10] => ストリング(10) "TB09011412" [11] => ストリング(10) "TB16011412" [12] => ストリング(10 )」TB300 11412" [13] => ストリング(10) "TB23011412" [14] => ストリング(10) "TB06021412" ..... .....
とすることができますように要素13(230114 - > 23年1月23日)の後になければならない要素12(300114 - > jan 30 2014)まで、すべてがokと思われますが、他の同様の間違いがありますが、配列は151要素なので、 ..私は私のsubstrのインデックスが間違っていることに気づいたいくつかの提案をした後、あなたの助け
するTryのstrcmp($ T1、$ t2の) - $ t2の – mseifert
はいや...それは働いていたdidntの、エラーが発生し – Chico3001
あなたのままタイムスタンプを使用して配列を書き直し、出力時に日付を正しい形式に再作成することができます。 – Nitin