ddxiami

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2055|回复: 0

[基础操作] 自定义二维数字按字段排序

[复制链接]
发表于 2022-5-23 15:40:48 | 显示全部楼层 |阅读模式

                            //二维数组排序, $arr是数据,$keys是排序的健值,$order是排序规则,0是升序,1是降序
                            function array_sort ($arr, $keys, $order = 0)
                            {
                                if (!is_array($arr)) {
                                    return false;
                                }
                             
                                //1、获取所有指定列的值,且保持原有key;
                                $keysvalue = array();
                             
                                foreach ($arr as $key => $val) {
                                    $keysvalue[$key] = $val[$keys];
                                }
                                //2、对获取的指定列的值进行排序,且保持原有key
                                if ($order == 0) {
                                    asort($keysvalue);
                                } else {
                                    arsort($keysvalue);
                                }
                                reset($keysvalue);
                                //3、获取重排后的数组的key
                                foreach ($keysvalue as $key => $vals) {
                                    $keysort[$key] = $key;
                                }
                                //4、重置原有数组
                                $new_array = array();
                                foreach ($keysort as $key => $val) {
                                    $new_array[] = $arr[$val];
                                }
                                return $new_array;
                            }
                            $data = array_sort($data, 'updatetime', 1);
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|技术文档库 ( 闽ICP备15017263号-2 )|网站地图

GMT+8, 2025-5-18 17:27 , Processed in 0.034146 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表