Tom: Multidimensionale Array´s sortieren

Beitrag lesen

Hello Anne,

Ich habe ein (Mehrdimensionales Array)
das ich nach dem ersten Wert sotieren lassen möchte:

möchstest Du die Schlüssel-Wertezuordnungen dabei wirklich verändern, oder nur die Anordnung der Elemente im Array?

Es ist mir auch nicht einsichtig, wieso das Array nicht einfach nur so schlank aussieht.

Array
(
    [25000] => 28.90
    [15000] => 30.00
    [10000] => 36.00
}

In dieser reduzierten Form wird es auch sofort deutlich, dass du nach Schlüsseln sorieren willst und nicht nach Werten.

Du könntest jetzt einen anderen Aufbau wählen für das Array, wenn Du sowohl die "Schlüssel" als auch die Werte als einander zugeordnete Elemente eines Datensatzes werten willst

Array
(
    [number] => Array
    (
        [0] => 25000
        [1] => 15000
        [2] => 10000
    )

[decimal] => Array
    (
        [0] => 28.90
        [1] => 30.00
        [2] => 36.00
    )
}

Die Elemente ['number'] und ['decimal'] ergeben so je eine Spalte in einer Tabelle. Sie sind über ihren Index gebunden zu einem Datensatz. Die Indexe darf man nun freilich nicht mehr unkoordiniert  verändern. Aber Das muss man ja auch nicht.

Der Vorteil ist nun aber, dass man die Standard-Arrayfunktionen auf jede einzelne Spalte anwenden kann. Je nachdem, nach welcher Spalte man das Array dann "abfährt" (iteriert mit foreach), hat man die Sortierung der Datensätze nach dieser Spalte. Man kann nun auch einfach die Summe Spalte bilden, das Minimum oder Maximum finden, usw.

Um die Sätze zu bearbeiten, benötigt man nur ein paar immer wieder verwendbare Standardfunktionen in seiner Library.

Die Funktionen findest Du hier:
http://forum.de.selfhtml.org/archiv/2009/5/t187244/#m1244374

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
 ☻_
/▌
/ \ Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de