dedlfix: Datenbank-Einträge mit '0' ans Ende

Beitrag lesen

Hi!

Nur wie gestallte ich die Vergleichsfunktion, wenn ich das Array nach den IDs des anderen Array sortieren will ?

Du kannst zwar über das zweite Array iterieren und bekommst dabei die IDs, aber du hast keine einfache Möglichkeit, anhand derer auf das passende Element aus dem ersten Array zuzugreifen. Zwei Lösungsmöglichkeiten fallen mir da ein: Du durchläufst (während du über das zweite Array iterierst) jedes Mal das erste Array und suchst den Eintrag mit der passenden ID. Oder - und diese Methode ist die vermutlich performantere - du durchläufst zuerst das erste Array und erstellst daraus ein neues Array, diesmal aber mit den IDs als Keys und nicht einfach fortlaufend automatisch nummeriert. Somit kannst du dann beim Durchlauf durch das zweite Array über die Keys im ersten Array den gewünschten Datensatz erhalten. Noch besser wäre es, wenn du das erste Array gleich so anlegen könntest.

Ich benutze usort mit der Vergleichsfunktion zum ersten Mal und begreife demnach wohl sehr langsam =/

Das ist auch etwas komplizierter, weil dafür dein derzeitiges Datenmodell nicht besonders geeignet ist. Du müsstest hier nicht nur eine Lösung suchen, sondern eher als Problem erkennen, dass das erste Array ungünstig aufgebaut ist.

Lo!