Situacija: turėjau objektų masyvą, kuris buvo sudarytas jungiant kitus kelis masyvus. Masyvo struktūros pavyzdys:
Array
(
[0] => stdClass Object
(
[start_time] => 2010-10-14 18:00:00
[category_id] => 1
[tournament_id] => 41
[tournament_place] => Vilnius
[ratings] => 0.34
[place] => 145
[title] => Title 1
[photo] => http://myadress.lt/symbol2.jpg
)
[1] => stdClass Object
(
[start_time] => 2010-10-17 12:00:00
[category_id] => 1
[tournament_id] => 50
[tournament_place] => New York
[ratings] => 5.27
[place] => 30
[title] => Title 2
[photo] => http://myadress.lt/symbol.jpg
)
)
Reikėjo: surikiuoti galutinio masyvo elementus pagal datą mažėjimo tvarka (nuo didžiausio iki mažiausio).
Sprendimas: tam naudojama usort() funkcija, tačiau pagal nutylėjimą ji rikiuoja nuo mažiausio iki didžiausio.
function cmp($a, $b)
{
return ($a->tournament_id < $b->tournament_id) ? 1 : -1;
}
usort($result3,'cmp');
Jeigu į rikiavimą nereikėtų atsižvelgti, užtektų tokios funkcijos:
function cmp($a, $b)
{
return strcmp($a->tournament_id, $b->tournament_id);
}
Komentarų nėra:
Rašyti komentarą