2017-09-22 1 views
0

Ich habe einen Algorithmus, den Benutzer manuell eingeben können, und es wird die Kopf- und Fußzeile angezeigt. Obwohl in meiner Funktion gibt es ein Prioritätsfeld, und ich möchte alles mit Priorität sortiert werden.Sortierung nach Priorität

3 Parameter - Feld, Priorität, Typ Beachten Sie, ich habe bereits eine Reihe von Kopf/Fuß mit Priorität vorgegeben, ist diese Funktion zusätzlich zu addieren oder die Priorität zu überschreiben. Es wird dann zur Vereinfachung in einem anderen Array gespeichert. Ich möchte dann alles mit der Priorität sortieren.

Array sieht wie folgt aus:

'js-amcharts-export' => array('link' => 'assets/global/plugins/amcharts/amcharts/plugins/export/export.min.js', 
            'type' => 'text/javascript', 
            'default' => false, 
            'priority' => ''), 

Beispiel:

$script->require_meta('js-amcharts-export', '20') 

Dies würde sicherstellen, dass alle die anderen mit Priorität 10 lässt zuerst die 20 dann geladen werden sagen, und alles nach.

Grundsätzlich muss ich das Array sortieren, basierend auf ‚Priorität‘

Würde asort($header_array['priority'] Arbeit?

+1

Mögliche Duplikat von [Sortieren mehrdimensionales Array von Value] (https://stackoverflow.com/questions/2699086/sort-multi- Dimensions-Array-by-Wert) – ficuscr

Antwort

0

+1 zu @ user3720435 für die Antwort.

In Ihrem Fall würde der Code wie folgt aussehen:

function cmp($a, $b) { 
    if ($a['priority'] == $b['priority']) { 
     return 0; 
    } 
    return ($a['priority'] < $b['priority']) ? -1 : 1; 
} 
uasort($header_array, 'cmp');