TS: Assoziatives, mehrdimensionales Array sortieren

Beitrag lesen

Hello,

Den Gedanken habe ich in der früheren Diskussion ja auch bereits geäußert, aber das finde ich keine gute Lösung. Dieser Ansatz mischt Stammdaten, die für die Geschäftslogik relevant sind, mit administrativen Daten

Das muss man nicht. Ich habe es eben in dem Beispiel nur so gemacht.

$_sorted['gesamtpreis'] = array();

foreach ($_data['preis'] as $key -> $preis)
{   
    $_sorted['gesamtpreis'][$key] = $preis + $_data['versand'][$key];
}

asort($_sorted['gesamtpreis'], SORT_NUMERIC);

Nun sind die Daten aus der Datenhaltung und die für den Sortiervorgang in getrennten Arrays untergebracht. Dadurch stören sie in den Funktionen für die Datensatzmanipulation bzw. das get_record() nicht mehr.

[...] Man muss darauf achten, dass die temporäre Spalte konsistent mit den Stammdaten ist, ändert sich der Preis, muss auch der Gesamtpreis aktualisiert werden. Außerdem muss man darauf achten, dass es keine Namenskollision zwischen den Spalten gibt. Das lässt sich alles irgendwie lösen, aber das bedeutet Aufwand, und ich sehe ehrlich gesagt noch keinen Vorteil.

Das stimmt. Beim Programmieren muss man immer auf etwas achten.
Man könnte, wenn es objektorientiert verpackt wird, selbstverständlich die Methoden auch kapseln und gegeneinander absichern. Dann hat man nur noch eine Blackbox, die selber an alles denkt.

Ich will das hier aber nicht weiter ausdehen. Die Diskussion um Spalten- oder Zeilenarrays ist schon so alt, wie die Einführung von $_FILES in PHP.

Man kann es so oder so machen und man wird immer Argumente gegen die eine oder die andere Methode finden, wenn man das will. Man kann aber auch sagen: "prima, es gibt unterschiedliche Vorgensweisen für die Datenorganisation und die haben jeweils ihre ganz eigenen Vorteile".

Liebe Grüße
Tom S.

--
Es gibt nichts Gutes, außer man tut es!
Das Leben selbst ist der Sinn.