Veröffentlicht 15. April 200520 j Hallöle, ich habe ein Array, welches wie folgt aufgebaut ist: $Hauptarray 0 => Array (2) id => 6 account => 1 1 => Array (2) id => 7 account => 5 2 => Array (2) id => 8 account => 5 3 => Array (2) id => 9 account => 3 4 => Array (2) id => 10 account => 1 5 => Array (2) id => 11 account => 2 Dieses Array möchte ich jetzt sortieren. Im Array $Hauptarray ist pro Zeile ein Array mit zwei Werten ( id und account) enthalten. Ich möchte jetzt das $Hauptarray sortieren. Dabei soll das Array nach 'account' in Abstiegender Reihenfolge sortiert werden. Das Ergebnis sollte dann so aussehen: $Hauptarray 0 => Array (2) id => 7 account => 5 1 => Array (2) id => 9 account => 3 2 => Array (2) id => 11 account => 2 3 => Array (2) id => 11 account => 2 4 => Array (2) id => 10 account => 1 5 => Array (2) id => 6 account => 1 leider hab ich keinen Plan, wie ich das umsetzen muss. Jemand eine Idee? -Tobias -
16. April 200520 j Hallo, ich hoffe ich verstehe Dich richtig. Im Prinzip willst Du ja nur nach EINEM Wert in Deinem Hauptarray sortieren. Der steht zwar jetzt wieder in einem Array, ist aber dennoch nur ein Wert. (Account) Dann kannst Du doch einen normalen Suchalgorithmus anwenden (Bubblesort bei der Größe vielleicht). Als Vergleichswert nimmst Du Account (Array[index][0]), sortieren tust Du aber Dein Hauptarray (Array[index]) Ich denke so sollte es gehen, informier mich wenn's nicht klappt Viele Grüße, Torsten
16. April 200520 j Ja sicher, das wird schon gehen, vielleicht gibt es ja aber auch einen PHP-Befehl, der das schon kann. Eigentlich müsste es doch einen Befehl geben, der ein MD-Array nach einer Spalte sortiert o.ä.
16. April 200520 j siehe php dokumentation zu sort und array, insbesondere beim 2. link die 2. user contribution note zum sortieren von mehrdimensionalen arrays. s'Amstel
17. April 200520 j Wie kommen denn die Daten in das Array? Wenn dies z.b. in durch eine SQL-Abfrage passiert, vielleicht einfach dort schon die Sortierung mit einbringen,...
19. April 200520 j moin moin kollegen, oneside, schau dir mal die Funktion array_multisort an. hier der Link dazu: :mod: http://de2.php.net/manual/de/function.array-multisort.php . Damit sollte dein Problem gelöst sein Gruß da finfin
20. April 200520 j Wenn ich ein komisches Array habe, verwende ich immer usort(myArray, vergleichsfunktion); function vergleichsfunktion(e1,e2){ return e2.account-e1.account; }[/php] siehe auch usort auf php.net
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.