Tom: Nach Datum sortiert anzeigen aus Array

Beitrag lesen

Hello,

Dir Gruppierung soll nach Datum sein. Also erst Datum und darin sollen alle gespielten Gewinnsätze stehen.

$ergebnisse = array(
'öm' => array(
    'öm#playvboy51=0:0|02.05.2010, 11:54:08  <sup>*</sup>',
    'öm#bernd67=3:1|02.05.2010, 13:55:36',
    'öm#carpi 86=1:3|02.05.2010, 14:18:21',
    'öm#PekingPeter=0:3|02.05.2010, 14:56:48',
    'öm#Reimarus=2:3|02.05.2010, 20:52:14',
    'öm#Aas53=3:2|06.05.2010, 21:53:15',
    'öm#Elwis70=2:3|06.05.2010, 22:15:25',
    'öm#x Knuddels All Star x <3=0:0|11.05.2010, 14:02:44  <sup>*</sup>',
    'öm#ConnorMcleod=3:2|11.05.2010, 19:55:07',
    'öm#xylem=0:3|11.05.2010, 20:07:55',
    'öm#Lehmann@Jens=2:3|11.05.2010, 21:10:07',
    'öm#TheKingOfCool=1:3|11.05.2010, 21:21:20',
    'öm#frischer wind2005=1:3|13.05.2010, 12:36:31',
    'öm#billardfloh=3:1|13.05.2010, 21:28:24'
    ),

'PekingPeter' => array(
    'PekingPeter#playvboy51=0:0|02.05.2010,  11:54:38  <sup>*</sup>',
    'PekingPeter#bernd67=1:3|02.05.2010,13:18:50',
    'PekingPeter#öm=3:0|02.05.2010, 14:56:48',
    'PekingPeter#carpi 86=3:2|02.05.2010, 14:57:15',
    'PekingPeter#Reimarus=3:2|02.05.2010, 19:54:29',
    'PekingPeter#Elwis70=3:2|02.05.2010, 20:24:25',
    'PekingPeter#ConnorMcleod=3:1|03.05.2010, 11:16:16',
    'PekingPeter#TheKingOfCool=2:3|04.05.2010, 17:01:13',
    'PekingPeter#billardfloh=3:0|04.05.2010, 20:57:36',
    'PekingPeter#Aas53=3:1|06.05.2010, 21:26:03',
    'PekingPeter#xylem=3:2|10.05.2010, 15:17:32',
    'PekingPeter#x Knuddels All Star x <3=0:0|11.05.2010,  14:02:59  <sup>*</sup>',
    'PekingPeter#Lehmann@Jens=0:3|11.05.2010, 20:47:32'
    ),

'xX StyLer PrinZ DeluxXe Xx' => array(
    'xX StyLer PrinZ DeluxXe Xx#Reimarus=1:3|01.05.2010, 22:06:39',
    'xX StyLer PrinZ DeluxXe Xx#playvboy51=0:0|02.05.2010,  11:54:54  <sup>*</sup>',
    'xX StyLer PrinZ DeluxXe Xx#Aas53=1:3|09.05.2010, 10:35:28',
    'xX StyLer PrinZ DeluxXe Xx#billardfloh=0:3|09.05.2010, 10:41:02',
    'xX StyLer PrinZ DeluxXe Xx#ConnorMcleod=3:2|09.05.2010, 10:55:51',
    'xX StyLer PrinZ DeluxXe Xx#bernd67=3:2|09.05.2010, 11:09:24',
    'xX StyLer PrinZ DeluxXe Xx#x Knuddels All Star x <3=0:0|11.05.2010,  14:03:12  <sup>*</sup>',
    'xX StyLer PrinZ DeluxXe Xx#Elwis70=3:0|11.05.2010, 17:55:30',
    'xX StyLer PrinZ DeluxXe Xx#frischer wind2005=3:2|14.05.2010, 18:52:42'
    )
)

Detailsatz, der zerlegt werden muss:

'öm#playvboy51=0:0|02.05.2010, 11:54:08  <sup>*</sup>',

ergibt ein Satzformat:

Name      Wert              Trennzeichen
----------------------------------------
spieler   öm               '#'
gegner    playvboy51       '='
ergebnis  0:0              '|'
datum     02.05.2010       ', '
zeit      11:54:08         '  '
bemerkung <sup>*</sup>

Der Satz kann dann in ein verarbeitbares Arrayformat eingefügt werden.

$ergebnis['spieler']  [1] = 'öm';
$ergebnis['gegner']   [1] = 'playvboy51';
$ergebnis['ergebnis'] [1] = '0:0';
$ergebnis['datum']    [1] = '02.05.2010';
$ergebnis['zeit']     [1] = '11:54:08';
$ergebnis['bemerkung'][1] = '<sup>*</sup>';

$ergebnis['spieler']  [2] = 'öm';
$ergebnis['gegner']   [2] = 'bernd67';
$ergebnis['ergebnis'] [2] = '3:1';
$ergebnis['datum']    [2] = '02.05.2010';
$ergebnis['zeit']     [2] = '13:55:36';
$ergebnis['bemerkung'][2] = '';

usw.

Danach kann die entsprechende "Spalte" sortiert werden, sofern sie sortierfähig notiert ist.

Beim Datum muss da ggf. noch nachgebessert werden. Oder versuch es mal mit natsort()

asort($ergebnis['datum']);

Die Erledigung der Einzelschritte kann man am besten durch eigene Funktionen oder Methoden erledigen lassen. Dann bleibt das Ganze auch wartbar.

Es geht auch anders, aber das wird unübersichtlich.

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
 ☻_
/▌
/ \ Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de