我有一個像這樣的具有不同索引位置的數組。按日期時間鍵排序關聯數組
Array
(
[0] => Array
(
[datetime] => 27/01/2017 12:18
[location] => Raunheim (DE)
[date] => 27/01/2017
[time] => 12:18
[status] => Erfolgreich zugestellt.
[status_1] => (Retoure an Versender)
)
[2] => Array
(
[datetime] => 11/01/2017 16:10
[location] => Vlotho (DE)
[date] => 11/01/2017
[time] => 16:10
[status] => Ihr Paket konnte nicht wie geplant zugestellt werden und ist wieder im Paketzustellzentrum.
)
[2] => Array
(
[datetime] => 25/01/2017 11:24
[status] => Erfolgreich zugestellt.
[status_id] =>
[date] => 25/01/2017
[location] => Altentreptow (DE)
[time] => 11:24
)
)
我想用datetime鍵對這個數組進行排序。我已經嘗試過解決方案
usort($second_tracking_array, 'date_compare');
function date_compare($a, $b) {
$date1 = $a['datetime'];
$date2 = $b['datetime'];
$t1 = strtotime($date1);
$t2 = strtotime($date2);
echo $t1 . " : " . $t2 . "</br>";
return $t2 - $t1;
}
但是數組沒有排序。在調試時,我發現只有所有索引位置都正確時,函數才能工作並對數組進行排序。但在我的情況下,我的一些數組索引位置是不同的。
你不能有相同的鍵2次,就像在你的榜樣(2X鍵2)。你可以用'$ array = array_values($ array);' – pixelarbeit
修復你的數組鍵值。但是每個數組索引只包含一個日期時間鍵。我正面臨的問題在函數date_compare我經常得到$ t2空。只有在兩個比較數組都具有相同結構數組的情況下,我纔會得到帶有時間戳的$ t1和$ t2 –