2017-01-27 4 views
0

I in Sortieranlagen eine Array Hilfe benötigen, die für jede Gruppe verschiedene Gruppen mit einem gleichen Wert aufweist. Ich möchte die Gruppe in absteigender Reihenfolge sortieren. Bitte schauen Sie unter:benötigen eine Gruppe von Array sortieren nach bestimmtem Schlüsselwert php

Array 
(
    [0] => Array 
     (
      [0] => Array 
       (
        [name] => rose 
        [price] => 3 
       ) 

      [1] => Array 
       (
        [name] => daisy 
        [price] => 3 
       ) 

      [2] => Array 
       (
        [name] => orchid 
        [price] => 3 
       ) 

     ) 
[1] => Array 
    (
     [0] => Array 
      (
       [name] => rose 
       [price] => 1 
      ) 

     [1] => Array 
      (
       [name] => daisy 
       [price] => 1 
      ) 

     [2] => Array 
      (
       [name] => orchid 
       [price] => 1 
      ) 

    ) 

[2] => Array 
    (
     [0] => Array 
      (
       [name] => rose 
       [price] => 2 
      ) 

     [1] => Array 
      (
       [name] => daisy 
       [price] => 2 
      ) 

     [2] => Array 
      (
       [name] => orchid 
       [price] => 2 
      ) 

    ) 

) 

Und ich will es wie folgt sortiert werden:

Array 
(
    [0] => Array 
     (
      [0] => Array 
       (
        [name] => rose 
        [price] => 3 
       ) 

      [1] => Array 
       (
        [name] => daisy 
        [price] => 3 
       ) 

      [2] => Array 
       (
        [name] => orchid 
        [price] => 3 
       ) 

     ) 

[1] => Array 
    (
     [0] => Array 
      (
       [name] => rose 
       [price] => 2 
      ) 

     [1] => Array 
      (
       [name] => daisy 
       [price] => 2 
      ) 

     [2] => Array 
      (
       [name] => orchid 
       [price] => 2 
      ) 

    ) 

[2] => Array 
    (
     [0] => Array 
      (
       [name] => rose 
       [price] => 1 
      ) 

     [1] => Array 
      (
       [name] => daisy 
       [price] => 1 
      ) 

     [2] => Array 
      (
       [name] => orchid 
       [price] => 1 
      ) 

    ) 

) 

Hinweis, ich habe eine große Palette von Gruppe. Aber das ist nur ein Teil davon, um eine Idee zu bekommen.

Es versteht sich von oben, dass ich das obige Array nach Preisschlüssel in absteigender Reihenfolge sortiert werden soll.

Vielen Dank im Voraus!

+0

Tonnen ähnliche Fragen hier, aber schrieben Sie einen anderen. Hast du irgendwas probiert oder willst du nur Codes? –

+0

gruppe basiert auf preis richtig? –

+0

Ich versuchte Uasort, aber hat nicht funktioniert. –

Antwort

0

es versuchen.

uasort($array, function ($a, $b) { 
    $price_a = array_values($a)[0]['price']; 
    $price_b = array_values($b)[0]['price']; 

    return $price_b - $price_a; 
}); 

Hinweis: Wenn Gruppe leer ist, wird ein Fehler angezeigt.

+1

Ja, es hat gut funktioniert. Ich danke dir sehr :-) –

Verwandte Themen