[PHP] Array van objecten sorteren op object-property

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb een script gemaakt die bestanden van een directory in een array zet, daarvan heb ik weer een overzichtje in HTML.

Boven de lijst van de bestanden staan de eigenschappen filename, filesize en last modified.
Ik geef de gebruiker de mogelijkheid om de lijst van de bestanden te sorteren op deze eigenschappen. Hierbij gebruik ik GET variabelen, bijv. ?sort_by=filesize&order=desc.

Als de bestanden uit een database gehaald werden dan kon ik makkelijk een ORDER BY filesize DESC toevoegen aan de query, maar dat gaat nu niet.

Ik zoek dus een manier om dit te realiseren, misschien dat ik iets heel logisch over het hoofd heb gezien...

Acties:
  • 0 Henk 'm!

  • ggvw
  • Registratie: September 2001
  • Laatst online: 15-12-2024
Verwijderd schreef op 19 oktober 2004 @ 18:35:
Ik heb een script gemaakt die bestanden van een directory in een array zet, daarvan heb ik weer een overzichtje in HTML.

Boven de lijst van de bestanden staan de eigenschappen filename, filesize en last modified.
Ik geef de gebruiker de mogelijkheid om de lijst van de bestanden te sorteren op deze eigenschappen. Hierbij gebruik ik GET variabelen, bijv. ?sort_by=filesize&order=desc.

Als de bestanden uit een database gehaald werden dan kon ik makkelijk een ORDER BY filesize DESC toevoegen aan de query, maar dat gaat nu niet.

Ik zoek dus een manier om dit te realiseren, misschien dat ik iets heel logisch over het hoofd heb gezien...
ehm,

voldoet array_multisort() of array_sort niet?

edit:
http://nl.php.net/manual/en/function.array-multisort.php (eerste commentaar is ook handig)

[ Voor 7% gewijzigd door ggvw op 19-10-2004 18:49 ]


Acties:
  • 0 Henk 'm!

  • gvanh
  • Registratie: April 2003
  • Laatst online: 02-12-2023

gvanh

Webdeveloper

He, da's handig ... zoiets heb ik laatst ook in JavaScript gemaakt.
Als ik het eerste commentaar goed begrijp ... werkt het dus voor het sorteren van een array van objecten als volgt:

code:
1
2
3
4
5
function compare($a, $b) {
       return strnatcasecmp($a->name, $b->name);
}

usort($array, "compare");


Zeg ik dat goed?

Ik zie net dat http://nl.php.net/manual/en/function.usort.php nog veel meer info geeft over hoe usort werkt .... handig!