id = $idarg; $this->v1 = $v1arg; $this->v2 = $v2arg; } } $arr = array(new Data( 23006, 1, 3), new Data( 11258, 3, 1), new Data( 26394, 1, 3), new Data( 49385, 1, 5), new Data( 70468, 1, 1), new Data( 50911, 1, 1), new Data( 74502, 1, 1)); echo "
\r\n";
foreach($arr as $elm) {
    echo $elm->id . " " . $elm->v1 . " " . $elm->v2 . "
\r\n"; } echo "
\r\n"; function cmp($a, $b) { if($a->v1 == $b->v1) { return $b->v2 - $a->v2; } else { return $b->v1 - $a->v1; } } usort($arr, "cmp"); echo "
\r\n";
foreach($arr as $elm) {
    echo $elm->id . " " . $elm->v1 . " " . $elm->v2 . "
\r\n"; } echo "
\r\n"; ?>