Gå til innhold

[LØST] :Lage fotballtabell, jobbe med MySQL og OOP


Anbefalte innlegg

Tenkte jeg skulle lage en tabell over noen fotballag som spiller i en serie. Jeg ønsker da å lagre alle lagene i en egen klasse for fotballag, med feltvariabler for antall kamper spilt, navn, målforskjell og poeng. Deretter vil jeg skrive de ut i en tabell sortert etter først antall poeng, deretter etter målforskjell.

 

I Java har jeg vært vant til å implementere interfacet Comparable<E> og skrive min egen compareTo-metode for sortering. Finnes det noen måter å lage egne sorteringsmetoder som det innebygde biblioteket kan bruke når det skal sortere tabellen for meg?

 

LØSNING

function cmp($a, $b) {
 if (strcmp($b->hentPoeng(), $a->hentPoeng()) != 0) {
   return strcmp($b->hentPoeng(), $a->hentPoeng());
 }
 else return strcmp($b->hentForskjell(), $a->hentForskjell());
}

usort($alleLag, 'cmp');

Endret av pgd
Lenke til kommentar
Videoannonse
Annonse

http://no2.php.net/manual/en/function.usort.php

 

Så får du skrive en callback-funksjon som sammenligner objektene.

 

 

EDIT:

ai, så ikke at du hadde skrevet løsningen over.

 

Eneste jeg reagerer på (bortsett fra at du koder på norsk, selvsagt), er at du bruker en strengesammenligningsfunksjon for å sammenligne tall?

En annen "liten" optimalisering er å ta vare på verdien fra det første strcmp-kallet, så du kan returnere verdien istedenfor å gjøre kallet enda en gang.

Endret av Nazgul
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...