www.adminn.cn
站长正能量分享网!

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

AD:阿里云服务器企业会员更优惠 腾讯云香港,韩国免备案服务器1.8折优惠

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.  } 

模板优惠价: (点击购买)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《php二维数组排序后获取最大值》
文章链接:https://www.adminn.cn/news/7197.html
本站资源模板仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。2021.5月起,网站调整,暂不再分享免费模板。谢谢理解

Adminn.Cn 站长分享圈

帝国CMS精品模板腾讯云优惠券,代金券

本站源码仅供本地环境下学习借鉴研究使用!

源码请勿用于任何涉灰站点!净化网络,站长更有责!

支付宝扫一扫打赏