2013-03-26 17 views
6

Ich verbrachte eine halbe Stunde, aber ich habe keine Lösung gefunden.Reverse ein assoziatives Array mit Keeping Keys in PHP

Das folgende Beispiel eines Arrays:

array(14) { 
    ["label_text"]=> string(10) "Label text" 
    ["e-mail"]=> string(6) "E-Mail" 
    ["company"]=> string(7) "Company" 
    ["last_name"]=> string(9) "Last name" 
    ["first_name"]=> string(10) "First name" 
} 

Was ich gerade tun möchte, ist die Elemente umgekehrt, so dass das Ergebnis ist folgendes:

array(14) { 
    ["first_name"]=> string(10) "First name" 
    ["last_name"]=> string(9) "Last name" 
    ["company"]=> string(7) "Company" 
    ["e-mail"]=> string(6) "E-Mail" 
    ["label_text"]=> string(10) "Label text" 
} 

Es stammt PHP für diese sein muss aber ich denke ich bin blind. Ich weiß nur nicht, welche Funktion zu verwenden ist.

Jede Hilfe wird geschätzt!

Antwort

8

Verwendung array_reverse().

array_reverse Array (Array $ array [, bool $ preserve_keys = false])

nimmt ein Eingangsarray und gibt ein neues Array mit der Reihenfolge der Elemente umgekehrt.

Hinweis: Stellen Sie sicher, dass Sie die Dokumentation zum 2. Argument der Funktion gelesen haben.

+1

Stellen Sie sicher, dass Sie auch die Dokumente lesen;) 'Nicht numerische Tasten sind von dieser Einstellung nicht betroffen und bleiben immer erhalten.' – BenM

+0

Wie werden die Array Keys auf diese Weise erhalten? –

1

Sie suchen die array_reverse() Funktion:

$new_array = array_reverse($old_array); 
+0

Es ist. Dein Punkt? – BenM

+0

Ihr Code wird sie nicht beibehalten. –

+0

Ja wird es. Sie sind keine numerischen Tasten. Aus der Dokumentation: * Nicht numerische Tasten sind von dieser Einstellung nicht betroffen und werden immer beibehalten. * – BenM