网站地图    收藏   

主页 > php专栏 > php数组查询 >

php二维数组排序后获取最大值 - php数组

来源:自学PHP网    时间:2014-11-25 21:17 作者: 阅读:

[导读] PHP一维数组的排序可以用sort(),asort(),arsort()等函数,但是PHP二维数组的排序需要自定义 PHP自定义代码如下:functionarray_sort($arr,$keys,$type= 39;asc 39;){ 2维数组排序$keysvalue=$new_...

php二维数组排序后获取最大值

PHP一维数组的排序可以用sort(),asort(),arsort()等函数,但是PHP二维数组的排序需要自定义.

PHP自定义代码如下:

  1. function array_sort($arr,$keys,$type='asc'){ //2维数组排序 
  2.  $keysvalue = $new_array = array(); 
  3.  foreach ($arr as $k=>$v){ 
  4.   $keysvalue[$k] = $v[$keys]; 
  5.  } 
  6.  if($type == 'asc'){ 
  7.   asort($keysvalue); 
  8.  }else
  9.   arsort($keysvalue); 
  10.  } 
  11.  reset($keysvalue); 
  12.  foreach ($keysvalue as $k=>$v){ 
  13.   $new_array[$k] = $arr[$k]; 
  14.  } 
  15.  return $new_array;  

最近在做一个数据分析系统,需要用到各种排序,下面是一段排序,代码如下: 

  1. //$re 为数据来源,二维数组 
  2.  
  3. $re = $this->array_sort($re,'LV','desc');//排序 
  4.  foreach($re as $key=>$val){ 
  5.   foreach ($val as $key2=>$val2){ 
  6.    if($key2=="uid"){ 
  7.    $count[] = $val2;//获取创建角色总数 
  8.    $lv[$val2][]=$re[$key]['LV'];//获取所有角色等级  
  9.    } 
  10.      
  11.   } 
  12.  } 
  13.  $count = array_count_values($count);  
  14.  foreach($count as $key=>$val){ 
  15.   M()->query("update mj_ad_count set create_juese = create_juese+".$val." where suid =".$key); 
  16.   echo M()->getLastSql();   
  17.  } 
  18.  foreach($lv as $key =>$val){//等级排查找出最大值后写入统计 
  19.   foreach ($val as $key2=> $val2){ 
  20.    if($key2==0){ 
  21.     //$ls[$key][] = $val2; 
  22.     M()->query("update mj_ad_count set juese_leave = ".$val2." where suid =".$key); 
  23.     echo M()->getLastSql();   
  24.    }    
  25.   } 
  26.  } 

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论