博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php 二维数组排序/对数组分组
阅读量:6998 次
发布时间:2019-06-27

本文共 1668 字,大约阅读时间需要 5 分钟。

/** * 二维数组根据字段进行排序 * @params array $array 需要排序的数组 * @params string $field 排序的字段 * @params string $sort 排序顺序标志 SORT_DESC 降序;SORT_ASC 升序 */ function arraySequence($array, $field, $sort = 'SORT_DESC'){    $arrSort = array();    foreach ($array as $uniqid => $row) {        foreach ($row as $key => $value) {            $arrSort[$key][$uniqid] = $value;        }    }    array_multisort($arrSort[$field], constant($sort), $array);    return $array;}

 

实现方法二,本人使用该方法

/** * 二维数组根据字段进行排序 * @params array $array 需要排序的数组 * @params string $field 排序的字段 * @params string $sort 排序顺序标志 SORT_DESC 降序;SORT_ASC 升序 */ function arraySequence($array, $field, $sort = 'SORT_DESC'){  $sort = array(        'direction' => $sort, //排序顺序标志 SORT_DESC 降序;SORT_ASC 升序        'field'     => $field,       //排序字段);$arrSort = array();foreach($array AS $uniqid => $row){    foreach($row AS $key=>$value){        $arrSort[$key][$uniqid] = $value;    }}if($sort['direction']){    array_multisort($arrSort[$sort['field']], constant($sort['direction']), $array);}    return $array;}

 

 

/*数据按键值分组$arr  传入数组$key  需分组的键值调用方法  array_group_by($html, $key='one');*/function array_group_by($arr, $key)    {        $grouped = [];        foreach ($arr as $value) {            $grouped[$value[$key]][] = $value;        }               if (func_num_args() > 2) {            $args = func_get_args();            foreach ($grouped as $key => $value) {                $parms = array_merge([$value], array_slice($args, 2, func_num_args()));                $grouped[$key] = call_user_func_array('array_group_by', $parms);            }        }        return $grouped;    }

 

转载于:https://www.cnblogs.com/yipiantian/p/7717720.html

你可能感兴趣的文章
python读写磁盘扇区数据有什么用_18-55.在Windows中,能够自动修复文件系统错误、扫描并尝试恢复坏扇区的操作是( )_学小易找答案...
查看>>
select所有字段名mysql_SQL查询表的所有字段名
查看>>
java代码生成图片_高分求java代码,用来生成图片文件!!
查看>>
java web 找回密码_JavaWeb利用邮箱帮用户找回密码
查看>>
java ftp 上传文件 进度条_Ftp上传下载文件,并能自定义进度条展示(FtpClient)
查看>>
java 包装类 可变_在Java中,原始包装类是不可变的 - Break易站
查看>>
java long 详解_java java.lang.Long详解之一:toString()
查看>>
java 读取xml删除xml节点_使用java解析器删除XML节点
查看>>
assert什么意思在python_Python中“ assert”语句的用途是什么?
查看>>
java 文件存储数据_6.1 数据存储与访问之——文件存储读写
查看>>
java环境变量配置验证_怎么验证Java环境变量配置成功
查看>>
java集合框架安全的_Java 集合框架分析:线程安全的集合
查看>>
linux java 替换jre_Centos7.6替换自带的jre安装jdk
查看>>
java graph 数据结构_数据结构图-JAVA实现
查看>>
python pandas合并_python学习:pandas学习笔记(四)合并
查看>>
java解析list_Java List集合方法及遍历过程代码解析
查看>>
java弹弹球_java学习日记-----------------------------弹弹球
查看>>
java应用服务器_Java程序员需知:企业开发中Web服务器与应用服务器的区别联系...
查看>>
leetcode java版本_《剑指Offer》Java版本 LeetCode
查看>>
java 客户端长连接_如何使用Socket在客户端实现长连接
查看>>