Einzelnen Beitrag anzeigen

geofranz01

Registriert seit: 17. Jun 2007
72 Beiträge
 
Delphi 2007 Enterprise
 
#1

[PHP] Mehrdimensionalen Array sortieren nach Datum

  Alt 2. Dez 2007, 19:12
Hi,

hab folgendes Problem: Ich will einen unsortierten mehrdimensionalen Array nach dem Datum, das im ersten Array steht, sortiere. Dafür wollte ich die Funktion "uasort" benutzen. Allerdings funzt bei mir die Werteübergabe an die Bewerte-Funktion(-1,0,1) nicht. Wenn ich die Funktion normal aufrufe, mit den beiden Daten als String, bekomme ich aber den richtigen Rückgabewert. Was mache ich falsch???

Der Aray:

Array (
[24.09.2007] => Array ( [Kurztitel] => Test [Beschreibung] => Beschreibung test )
[27.05.2007] => Array ( [Kurztitel] => Testaa2 [Beschreibung] => beschreibung 2 )
[28.10.2008] => Array ( [Kurztitel] => nummer3 [Beschreibung] => beschrebung 3 ) ..
..
..
(so gehts immer weiter)


Die Funktion:

Code:
function sortiere ($item1, $item2) {

$d1=$item1[0].$item1[1];
$m1=$item1[3].$item1[4];
$y1=$item1[6].$item1[7].$item1[8].$item1[9];

$d2=$item2[0].$item2[1];
$m2=$item2[3].$item2[4];
$y2=$item2[6].$item2[7].$item2[8].$item2[9];


$d1=(int)$d1;
$m1=(int)$m1;
$y1=(int)$y1;
$d2=(int)$d2;
$m2=(int)$m2;
$y2=(int)$y2;


if (y1 == y2)
  {
    if (m1 == m2)
     {
        if (d1 == d2)
         {return 0; }
        else
           if (d1 > d2) {return 1; }
          else
           if (d1 < d2) { return -1;}
      }
    else
        if (m1 > m2) {return 1 ;}
       else
        if (m1 < m2) { return -1;}
  }
else
    if (y1 > y2) {return 1 ;}
  else
    if (y1 < y2) { return -1;}

}
Übergeben tu ich den array so:
Code:
uasort($meinarray, 'sortiere');
Zum Datum: Das steht immer so: 'dd.mm.yyyy'

Wo ist mein Denkfehler???

Vielen Dank für eure Hilfe!!!

P.S. Bin noch ganz neu in PHP und kenne mich noch nicht so gut aus, also bitte nicht zu streng
Falls ihr meint eine Datenbank wäre besser: Klar, nur leider gehts nur so mit Arrays, da ich diesen aus einer INI-Datei parse, die ein Delphi-Projekt benötigt.
Max
  Mit Zitat antworten Zitat