Avatar billede Slettet bruger
20. juni 2009 - 15:32 Der er 4 kommentarer og
1 løsning

Sortering af array

Hejsa!

Jeg vil gerne sortere et array, der er et ukendt antal records langt. Jeg får at vide, at jeg skal sortere på $x'e record. Fx $x=0 skal den sortere i den "række" med Abemad.. $x=1 skal den sortere ved hejsa osv osv

$array = array("Abemad", "hejsa", "tiluawa", "dfks");
$array2 = array("ads", "hejsa", "tiluawa", "dfks");
$array3 = array("9e", "hejsa", "tiluawa", "dfks");
$array4 = array("Abemad", "hejsa", "tiluawa", "dfks");

Anyone? :-)
Avatar billede Slettet bruger
20. juni 2009 - 15:34 #1
Erstat: "skal den sortere i den "række" med Abemad.."
Med: "skal den sortere i den "kolonne" med Abemad.."

Hvorfor kan man ikke redigere sine indlæg? :S
Avatar billede ebusiness Nybegynder
20. juni 2009 - 16:22 #2
Øhhh, er det din faktiske kode? Det duer ikke at du opretter en ny variabel for hver række, du har brug for et array indeholdende dine arrays, eller kommer du aldrig til at kunne bruge dem på en fornuftig måde. Således:

$array[0] = array("Abemad", "hejsa", "tiluawa", "dfks");
$array[1] = array("ads", "hejsa", "tiluawa", "dfks");
$array[2] = array("9e", "hejsa", "tiluawa", "dfks");
$array[3] = array("Abemad", "hejsa", "tiluawa", "dfks");

Du kan så bruge usort til at sortere dem. Læs: http://us2.php.net/manual/en/function.usort.php

Jeg kan godt skrive sorteringsfunktionen for dig, men det er nok bedst at du selv forstår konceptet med en brugerdefineret compare funktion.
Avatar billede Slettet bruger
20. juni 2009 - 16:46 #3
Hejsa

Nej det er ikke min faktiske kode. Jeg er igang med at lave en PHP class så jeg nemt kan oprette en tabel der indeholder alle funktioner; flot design, paging, sortering osv. Det er brugerstyret hvad der kommer ind jo, alt efter hvordan man håndterer class'en, men jo du har ret, det er også på den måde du skrev det, at jeg har det.

Jeg prøver usort, tak :)

- vender tilbage..
Avatar billede Slettet bruger
20. juni 2009 - 16:55 #4
function cmp($a, $b){
global $sSort; $i = $sSort;

if($a[$i] == $b[$i]) return 0;
return ($a[$i] < $b[$i]) ? -1 : 1;
}
usort($aRows, "cmp");

Jeg takker for hjælpen! :-)
Smid et svar hvis du ønsker points.
Avatar billede ebusiness Nybegynder
21. juni 2009 - 10:52 #5
Jeg har sådan set lagt et 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
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

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