2013-12-14 2 views
-1

мне нужно отсортировать массив, чтобы ранг по очкам, но я не могу заставить ее работать правильно ..Сортировка массива с помощью «точек»

function cmp($a, $b) 
{ 
    return strcmp($a->points, $b->points); 
} 
usort($teamList, "cmp"); 
foreach($teamList as $r) 
{ 
    echo $r->name . " " . $r->points. "<br>"; 
} 

Я получил это с этим кодом: randomteam * -100 randomteam * -12 randomteam * -12,5 randomteam * -15 randomteam * -15,5 randomteam * -15,5

  • Каждый randomteam это другая команда
+0

Пожалуйста, приведите пример массива – user4035

ответ

1

Вы сравниваете свои позиции как строки. В строковых выражении -12.5 меньше -15 (потому что 2 меньше 5 и все до там равны.

Вместо этого, просто использовать return $a->points - $b->points;.

Смежные вопросы