Crew algemeen |
|
Dat kan dan met PHP.net: usort. Voorbeeldje:
// Test class
class obj {
var $id;
}
// Array met objecten
$objs = array();
// Een aantal objecten met willekeurig id in de array zetten
for ($i = 0; $i < 50; $i++) {
$obj = new obj;
$obj->id = rand(1, 1000);
$objs[] = $obj;
}
// Sorteren met een callback
usort($objs, 'objSort');
// Functie om te sorteren
function objSort($arg1, $arg2) {
return $arg1->id - $arg2->id;
}
// Test class class obj { var $id; } // Array met objecten // Een aantal objecten met willekeurig id in de array zetten for ($i = 0; $i < 50; $i++) { $obj = new obj; $obj->id = rand(1, 1000); $objs[] = $obj; } // Sorteren met een callback // Functie om te sorteren function objSort($arg1, $arg2) { return $arg1->id - $arg2->id; }
Hoe die callback precies werkt kan je het beste lezen op php.net daar leggen ze het duidelijk uit. In het kort:php.net schreef: De vergelijkingsfunctie moet een integer teruggeven die kleiner dan, gelijk aan of groter dan 0 is, wanneer het eerste argument respectievelijk kleiner dan, gelijk aan of groter wordt beschouwd dan het tweede argument.
Edit:
Als ze echt precies verkeerd om staan kan je makkelijker de manier van timmie gebruiken. |