2017-01-01 6 views
0

Ich habe Probleme beim Sortieren meines Arrays. Das Array hat einen Wert mit Minuten, das niedrigste muss oben angezeigt werden.Array sort on datetime

Das ist mein Array:

$voertuigen[] = array(
'img' => $img, 
'nummer' => $nummer, 
'soort' => $rnaam, 
'aankomst' => $formatted 
); 

Ich habe versucht habe sort()

sort($voertuigen, SORT_NUMERIC); 

zu verwenden, aber dann bekomme ich diese: 9:42 10:50 9:42 13:43 Es ist nicht korrekt sortiert.

Vielen Dank für Ihre Hilfe!

Es ist kein Datetime ist, es ist nur so etwas wie diese: 10:30 - Minuten: Sekunden

+0

Also, wo sagst du deine Sorte gegen eine Datetime zu sortieren? Welches ist die Datetime? –

+0

Sorry, vergessen zu sagen, die 'aankomst' ist die mit der Datetime – Jesper

+2

Mögliche Duplikat von [Array auf der dateTime in PHP sortieren] (http://StackOverflow.com/Questions/8121241/Sort-Array-based- on-the-datetime-in-php) – asteriskTheServer

Antwort

0

Sie können usort nur benutzen, um Ihren eigenen Vergleich zu definieren und DateTime dann die Zeiten in dem Array zu analysieren verwenden und dann vergleiche sie:

usort($voertuigen, function ($a, $b) { 
    return new DateTime($a['aankomst']) > new DateTime($b['aankomst']); 
}); 

Hoffe, das hilft!

+0

Ich bekomme diesen Fehler: http://prntscr.com/dqn2us – Jesper

+0

@Jesper 10:78 ist keine gültige Zeit ... –

Verwandte Themen