• 技术文章 >php教程 >PHP源码

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

    2016-06-08 17:23:37原创2014
    PHP一维数组的排序可以用sort(),asort(),arsort()等函数,但是PHP二维数组的排序需要自定义。

    自定义:

    代码如下 复制代码

    function array_sort($arr,$keys,$type='asc'){ //2维数组排序
    $keysvalue = $new_array = array();
    foreach ($arr as $k=>$v){
    $keysvalue[$k] = $v[$keys];
    }
    if($type == 'asc'){
    asort($keysvalue);
    }else{
    arsort($keysvalue);
    }
    reset($keysvalue);
    foreach ($keysvalue as $k=>$v){
    $new_array[$k] = $arr[$k];
    }
    return $new_array;
    }

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

    代码如下 复制代码

    //$re 为数据来源,二维数组

    $re = $this->array_sort($re,'LV','desc');//排序
    foreach($re as $key=>$val){
    foreach ($val as $key2=>$val2){
    if($key2=="uid"){
    $count[] = $val2;//获取创建角色总数
    $lv[$val2][]=$re[$key]['LV'];//获取所有角色等级
    }

    }
    }
    $count = array_count_values($count);
    foreach($count as $key=>$val){
    M()->query("update mj_ad_count set create_juese = create_juese+".$val." where suid =".$key);
    echo M()->getLastSql();
    }
    foreach($lv as $key =>$val){//等级排查找出最大值后写入统计
    foreach ($val as $key2=> $val2){
    if($key2==0){
    //$ls[$key][] = $val2;
    M()->query("update mj_ad_count set juese_leave = ".$val2." where suid =".$key);
    echo M()->getLastSql();
    }
    }
    }

    php入门到就业线上直播课:查看学习

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:nbsp quot foreach val keysvalue
    上一篇:php 正则替换掉网页中所有超链接 过滤网页中所有Url 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• PHP实现301跳转,及延时跳转代码• 收藏PHP常用自定义函数• php echo 与 return 区别• ThinkPHP 建议配置(未完成)• php 列出目录与删除目录实例代码
    1/1

    PHP中文网