2016-04-14 14 views
0

Ich habe ein mehrdimensionales Array wie folgt aus: „MwSt 7%“PHP: asort Array von Tasten als Strings mit Sonderzeichen

$myArray = Array 
(
    "MwSt. 7%" => Array 
     (
      "[rates]" => Array 
       (
        "[0]" => Array 
         (
          "[code]" => "MwSt. 19%", 
          "[title]" => "MwSt. 19%", 
          "[percent]" => 19, 
          "[position]" => 2, 
          "[priority]" => 20, 
          "[rule_id]" => 6 
         ) 

       ) 
     ), 

    "MwSt. 19%" => Array 
     (
      "[rates]" => Array 
       (
        "[0]" => Array 
         (
          "[code]" => "MwSt. 7%", 
          "[title]" => "MwSt. 7%", 
          "[percent]" => 7, 
          "[position]" => 1, 
          "[priority]" => 10, 
          "[rule_id]" => 7 
         ) 

       ) 
     ) 

); 

Was ich tun möchte, ist, immer erhalten als erste Key dann „MwSt . 19% "

Ich habe Funktion, die nur funktioniert, wenn mein Array mit" MwSt. 19% "beginnt, aber wenn es mit" Mwst. 7% "beginnt, bekomme ich die falsche Sortierung.

asort($myArray, SORT_STRING); 

Irgendwelche Hilfe?

+1

Sounds likey Sie nach natürlicher Sortierung sind, in dem Fall, dass Sie 'SORT_NATURAL' statt' SORT_STRING' verwenden würden. –

+1

hast du 'krsort()' versucht? –

+0

Ich habe es später versucht, es hat nicht funktioniert, aber jetzt funktioniert es wie ein Charme, danke für die Hilfe :) – Bizboss

Antwort

0
ksort($myArray); 

ist die Lösung;)

+1

Können Sie erklären, warum diese Lösung funktioniert. – Wowsk