首页 > PHP如何把计算好的count总数排列最前面?

PHP如何把计算好的count总数排列最前面?

$arr = Array(
   Array
        (
            'department' => '雅典娜',
             'sign' => 0,
            'time' => '2015年06月01日',
            'surname' => '星史'
        )
,
     Array
        (
            'department' => '雅典娜',
            'sign' => 0,
            'time' => '2015年06月02日',
            'surname' =>  '星史'
        )
,
     Array
        (
            'department' => '雅典娜',
            'sign' => 0,
            'time' => '2015年06月03日',
            'surname' => '瞬'
        ),

     Array
        (
            'department' => '雅典娜',
            'sign' => 0,
            'time' => '2015年06月03日',
            'surname' => '紫龙'
        )
);
$array=array();
foreach($arr as $v){
    if(!isset($array[$v['surname']])){
              $array[$v['surname']]['count']=1;
              $array[$v['surname']]['time']=$v['time'];
    }else{
         $array[$v['surname']]['count']+=1;
         $array[$v['surname']]['time'].=','.$v['time'];
    }
}
print_r($array);
````

输出结果是

'surname' = '星史',
'count'=2

其它
'surname' => '瞬' ,
'count'=1都是1

但是这个输出默认不排序的

```

如何把'count'总数最大排列前面呢?


两个人答案不错,可惜不能点两个采纳了~~~


可以写下自定义的排序

phpfunction my_sort($a, $b)
  {
    return -($a['count'] - $b['count']);//降序
  }

 uasort($array, "my_sort");
print_r($array);

使用PHP的usort函数进行自定义排序

<?php
    function my_sort($a, $b){
        return $a['count'] == $b['count'] ? 0 : ($a['count'] > $b['count'] ? -1 : 1);
    }
    $array = array(...); //array为您的数据数组
    usort($array, 'my_sort');
    print_r($array);
【热门文章】
【热门文章】