Avatar billede Fiber Bjørn Juniormester
08. februar 2015 - 11:53 Der er 4 kommentarer og
1 løsning

Sort array.

Hej.

Jeg er ikke så skarp i det med array.
Jeg har brug for at kunne vælge at sortere imellem disse

    $ordre_id[]
    $ordre_projekt_id[]
    $ordre_kunde_navn[]
    $ordre_beskrivelse[]

F.eks

sort by $ordre_id[]
Ordre: 1 - Projekt id: 821 - Kunde navn: Anders And - Beskrivelse: 1111
Ordre: 2 - Projekt id: 234 - Kunde navn: Tove Trut - Beskrivelse: 1111
Ordre: 3 - Projekt id: 643 - Kunde navn: Bent B - Beskrivelse: 1111 

eller

sort by $ordre_projekt_id[]
Ordre: 2 - Projekt id: 234 - Kunde navn: Tove Trut - Beskrivelse: 1111
Ordre: 3 - Projekt id: 643 - Kunde navn: Bent B - Beskrivelse: 1111
Ordre: 1 - Projekt id: 821 - Kunde navn: Anders And - Beskrivelse: 1111

eller

sort by $ordre_kunde_navn[]
Ordre: 1 - Projekt id: 821 - Kunde navn: Anders And - Beskrivelse: 1111
Ordre: 3 - Projekt id: 643 - Kunde navn: Bent B - Beskrivelse: 1111 
Ordre: 2 - Projekt id: 234 - Kunde navn: Tove Trut - Beskrivelse: 1111


men hvordan gør jeg det ????

kan i hjælpe med et forslag til f.eks at sort by $ordre_id[] så regner jeg med at jeg godt kan finde ud af at ændre det til de andre sorterings muligheder.
Avatar billede arne_v Ekspert
08. februar 2015 - 17:06 #1
Jeg kan se 2 muligheder:

1) Lav din egen lille sortering med 2 for loekker. Og sorterer efter et array og byt rundt paa alle arrays.

2) Gaa OOP og lav en klasse med 4 felter, have et array af denne klasse og sorter med usort.
Avatar billede Fiber Bjørn Juniormester
08. februar 2015 - 17:28 #2
#1

har du mulighed for at vise strukturen i det. Give et forslag til hvordan det kunne se ud. Jeg har ikke haft held til at finde noget jeg kunne forstå/bruge her på siden.
Avatar billede arne_v Ekspert
08. februar 2015 - 17:40 #3
for($i = 0; $i < count($ordre_id); $i++) {
  for($j = $i + 1; $j < count($ordre_id); $j++) {
        if($ordre_id[$i] > $ordre_id[$j]) {
            $tmp = $ordre_id[$i];
            $ordre_id[$i] = $ordre_id[$j];
            $ordre_id[$j] = $tmp;

            $tmp = $ordre_projekt_id[$i];
            $ordre_projekt_id[$i] = $ordre_projekt_id[$j];
            $ordre_projekt_id[$j] = $tmp;

            // samme 3 linier for $ordre_kunde_navn
 
            // samme 3 linier for $ordre_beskrivelse
        }
  }
}

Utestet!!
Avatar billede Fiber Bjørn Juniormester
08. februar 2015 - 21:05 #4
#3

Fedt fedt det virker :)
1000 tak for hjælpen og den gode forklaring.

Gi et svar = Point
Avatar billede arne_v Ekspert
08. februar 2015 - 22:59 #5
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester