Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[PHP] Mehrdimensionales Array sortieren

Empfohlene Antworten

Veröffentlicht

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 -

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

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.ä.

siehe php dokumentation zu sort und array, insbesondere beim 2. link die 2. user contribution note zum sortieren von mehrdimensionalen arrays.

s'Amstel

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,...

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

Und .. wie hast Du's nun gelöst?

Grüße,

:-) Torsten

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.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.