Array sortieren

Alles, was PHP betrifft, kann hier besprochen werden.

Array sortieren

Postby adi99 » 10. March 2005 19:03

Hallo zusammen,

Habe folgendes Array:

Code: Select all
Array
(
    [0] => Array
        (
            [Tore] => 9
            [ToreGegner] => 9
            [Date] => 20.02.2005
        )

    [1] => Array
        (
            [Tore] => 5
            [ToreGegner] => 5
            [Date] => 20.02.2005
        )

    [2] => Array
        (
            [Tore] => 15
            [ToreGegner] => 5
            [Date] => 23.01.2005
        )

    [3] => Array
        (
            [Tore] => 7
            [ToreGegner] => 5
            [Date] => 23.01.2005
        )

    [4] => Array
        (
            [Tore] => 12
            [ToreGegner] => 2
            [Date] => 19.12.2004
        )

    [5] => Array
        (
            [Tore] => 6
            [ToreGegner] => 4
            [Date] => 19.12.2004
        )

)


Jetzt würde ich gerne dieses Array nach [date] sortieren.

[date] hat ein solches Format 10.03.04

Habt ihr eine Idee wie das geht?

Besten Dank
User avatar
adi99
 
Posts: 115
Joined: 15. January 2004 16:08
Location: Switzerland

Postby Straffi » 24. March 2005 16:40

Moin adi99,

du suchst nach usort().
http://www.php.net/manual/de/function.usort.php

Damit kannst du eine eigene Sortierfunktion für dein array erstellen.


mfg straffi[/url]
User avatar
Straffi
 
Posts: 120
Joined: 07. October 2003 17:48

Postby adi99 » 24. March 2005 18:12

Danke,
Ich habs in der Zwischenzeit anders gemacht.
User avatar
adi99
 
Posts: 115
Joined: 15. January 2004 16:08
Location: Switzerland

Postby Stefan » 24. March 2005 23:53

Servus,

verrat uns doch wie Du es letztendlich gelöst hast.


ciao, Stefan
User avatar
Stefan
 
Posts: 475
Joined: 26. December 2002 22:36
Location: Mitten in der sonnigen Südpfalz

Postby adi99 » 25. March 2005 11:16

Das habe ich erwartet...

Wollte ich schon bei der letzten Antwort wusste es aber nicht mehr :D

Nachgeschaut:...
Ich habe zuerst daraus zweites array gemacht in dem ich Date speicherte. Dannach habe ich das neue Array sortiert (arsort()), dh die ID blieb und ich konnte so auf das andere Array zugreifen...

Ich habs nur schnell überflogen...

Gruss Adrian
User avatar
adi99
 
Posts: 115
Joined: 15. January 2004 16:08
Location: Switzerland

Postby Straffi » 25. March 2005 12:40

Moin,

wenn es noch interessiert, hier der Weg mit usort() :

Code: Select all
function my_array_sort($a, $b) {
  $a_date = explode('.', $a['Date']);
  $b_date = explode('.', $b['Date']);
 
  for ($i = 2; $i >= 0; $i--) {
    if ($a_date[$i] < $b_date[$i]) {
      return -1;
    }
    if ($a_date[$i] > $b_date[$i]) {
      return 1;
    }
  }
  return 0;
}

usort($the_array, 'my_array_sort');




mfg straffi
User avatar
Straffi
 
Posts: 120
Joined: 07. October 2003 17:48


Return to PHP

Who is online

Users browsing this forum: No registered users and 3 guests