2014-01-17 39 views
0

我的名單排列數組排序按性別和總

Array 
(
    [0] => Array 
     (
      [id] => 1000044375809533 
      [likes] => 10 
      [comments] => 6 
      [posts] => 41 
      [gender] => female 
     ) 

    [1] => Array 
     (
      [id] => 1000043758049533 
      [likes] => 10 
      [comments] => 6 
      [posts] => 41 
      [gender] => male 
     ) 

    [2] => Array 
     (
      [id] => 1000040382928633 
      [likes] => 4 
      [comments] => 0 
      [posts] => 0 
      [gender] => female 
     ) 

    [3] => Array 
     (
      [id] => 1000003829428633 
      [likes] => 4 
      [comments] => 0 
      [posts] => 0 
      [gender] => male 
     ) 
) 

如何按性別重新設置列表?

再排序 「總=喜歡+評論+崗位」

總= 10 性別=男性

總= 8 性別=男性

共有10 性別=女

total = 7 gender =女

回答

0

幾乎等同於您的previous question

function cmp($a, $b) { 
    if ($a['gender'] == $b['gender']) { 
     $aSum = $a['likes'] + $a['comments'] + $a['posts']; 
     $bSum = $b['likes'] + $b['comments'] + $b['posts']; 
     if ($aSum == $bSum) 
      return 0; 
     return ($aSum < $bSum) ? -1 : 1; 
    } 
    return ($a['gender'] < $b['gender']) ? -1 : 1; 
} 

usort($array, "cmp");