<?php
// test data
$team_data[] = array("team-A", 5, -5, 0); $team_data[] = array("team-B", 7, 3, 50); $team_data[] = array("team-C", 8, 3, 50); $team_data[] = array("team-D", 10, 4, 85); $team_data[] = array("team-E", 10, 4, 90); $team_data[] = array("team-F", 10, 5, 100);
// compare function
function team_comp($a, $b) {
if ($a[1] != $b[1]) {
return $b[1] - $a[1];
} else if ($a[2] != $b[2]) {
return $b[2] - $a[2];
} else {
return $b[3] - $a[3];
}
}
//
function print_team($teams) {
foreach ($teams as $t) {
echo $t[0] . " : " . $t[1] . " " . $t[2] . " " . $t[3] . "\n";
}
}
echo "------------- before ----------\n";
print_team($team_data);
usort($team_data, "team_comp");
echo "------------- after ----------\n";
print_team($team_data);
PD9waHAKCi8vIHRlc3QgZGF0YQokdGVhbV9kYXRhW10gPSBhcnJheSgidGVhbS1BIiwgNSwgLTUsIDApOwokdGVhbV9kYXRhW10gPSBhcnJheSgidGVhbS1CIiwgNywgMywgNTApOwokdGVhbV9kYXRhW10gPSBhcnJheSgidGVhbS1DIiwgOCwgMywgNTApOwokdGVhbV9kYXRhW10gPSBhcnJheSgidGVhbS1EIiwgMTAsIDQsIDg1KTsKJHRlYW1fZGF0YVtdID0gYXJyYXkoInRlYW0tRSIsIDEwLCA0LCA5MCk7CiR0ZWFtX2RhdGFbXSA9IGFycmF5KCJ0ZWFtLUYiLCAxMCwgNSwgMTAwKTsKCi8vIGNvbXBhcmUgZnVuY3Rpb24KZnVuY3Rpb24gdGVhbV9jb21wKCRhLCAkYikgewoJaWYgKCRhWzFdICE9ICRiWzFdKSB7CgkJcmV0dXJuICRiWzFdIC0gJGFbMV07Cgl9IGVsc2UgaWYgKCRhWzJdICE9ICRiWzJdKSB7CgkJcmV0dXJuICRiWzJdIC0gJGFbMl07Cgl9IGVsc2UgewoJCXJldHVybiAkYlszXSAtICRhWzNdOwoJfQp9CgovLyAKZnVuY3Rpb24gcHJpbnRfdGVhbSgkdGVhbXMpIHsKCWZvcmVhY2ggKCR0ZWFtcyBhcyAkdCkgewoJCWVjaG8gJHRbMF0gLiAiIDogIiAuICR0WzFdIC4gIiAiIC4gJHRbMl0gLiAiICIgLiAkdFszXSAuICJcbiI7Cgl9Cn0KCmVjaG8gIi0tLS0tLS0tLS0tLS0gYmVmb3JlIC0tLS0tLS0tLS1cbiI7CnByaW50X3RlYW0oJHRlYW1fZGF0YSk7Cgp1c29ydCgkdGVhbV9kYXRhLCAidGVhbV9jb21wIik7CgplY2hvICItLS0tLS0tLS0tLS0tIGFmdGVyIC0tLS0tLS0tLS1cbiI7CnByaW50X3RlYW0oJHRlYW1fZGF0YSk7Cgo=