2015-02-16 5 views
-1

Я хочу ранжировать этот следующий массив в соответствии с точками, и дубликаты очков будут одинаковыми. Любая идея, как я буду выполнять эту задачу.Рейтинг или Позиция по значению многомерного массива в PHP

Array 
(
[6] => Array 
    (
     [points] => 0 
     [details] => Array 
      (
       [name] => name 1 
       [rank] => 
      ) 

    ) 

[220] => Array 
    (
     [points] => 794 
     [details] => Array 
      (
       [name] => name 2 
       [rank] => 
      ) 

    ) 

[369] => Array 
    (
     [points] => 1002 
     [details] => Array 
      (
       [name] => name 3 
       [rank] => 
      ) 

    ) 

[138] => Array 
    (
     [points] => 1239 
     [details] => Array 
      (
       [name] => name 4 
       [rank] => 
      ) 

    ) 

[778] => Array 
    (
     [points] => 1302 
     [details] => Array 
      (
       [name] => name 5 
       [rank] => 
      ) 

    ) 
) 
+0

http://stackoverflow.com/questions/15862756/php-get-ranks-for-values-in-multidimensional-array – Casperon

ответ

0

что-то вроде этого:

$sort=array(); 
foreach($array as $key=>$v){$sort[$key]=$v['points'];} 
sort($sort); 
$newArray=array(); 
$i=0; $points=0; 
foreach($sort as $key=>$v){ 
    $i++; 
    if($v['points']>$points){$i++; $points=$v['points']; 
    $newArray[$key]=$array['key']; 
    $newArray[$key]['rank']=$i; 
} 
$array=$newArray; 
+0

Спасибо за ваш ответ. Но мой массив уже отсортирован по точкам. Я просто хочу добавить значение ранга в свой массив. Как я это сделаю. –