编程 对多个数组或多维数组进行排序

2024-11-17 05:10:28 +0800 CST views 2589

对多个数组或多维数组进行排序

#关于array_multisort 可以用来一次对多个数组进行排序,或者根据某一维或多维对多维数组进行排序。

bool array_multisort ( array &$array1 [, mixed $array1_sort_order = SORT_ASC [, mixed $array1_sort_flags = SORT_REGULAR [, mixed $... ]]] )

我们先来看一段案例:

$data=[
    ['card'=>"中信银行",'id'=>"1481",'day'=>'9','repay'=>'29','limit'=>"40000"],
    ['card'=>"民生银行",'id'=>"1481",'day'=>'17','repay'=>'19','limit'=>"50000"],
    ['card'=>"交通银行",'id'=>"1441",'day'=>'18','repay'=>'25','limit'=>"60000"],
    ['card'=>"招商银行",'id'=>"1481",'day'=>'5', 'repay'=>'9','limit'=>"70000"]
];

现在我们需要按还款日最近的前面进行排序

$sort= array_map(create_function('$n', 'return $n["repay"];'), $data);
array_multisort($sort,SORT_DESC,$data );

array(4) {
  [0]=>
  array(5) {
    ["card"]=>
    string(12) "中信银行"
    ["id"]=>
    string(4) "1481"
    ["day"]=>
    string(1) "9"
    ["repay"]=>
    string(2) "29"
    ["limit"]=>
    string(5) "40000"
  }
  [1]=>
  array(5) {
    ["card"]=>
    string(12) "交通银行"
    ["id"]=>
    string(4) "1441"
    ["day"]=>
    string(2) "18"
    ["repay"]=>
    string(2) "25"
    ["limit"]=>
    string(5) "60000"
  }
  [2]=>
  array(5) {
    ["card"]=>
    string(12) "民生银行"
    ["id"]=>
    string(4) "1481"
    ["day"]=>
    string(2) "17"
    ["repay"]=>
    string(2) "19"
    ["limit"]=>
    string(5) "50000"
  }
  [3]=>
  array(5) {
    ["card"]=>
    string(12) "招商银行"
    ["id"]=>
    string(4) "1481"
    ["day"]=>
    string(1) "5"
    ["repay"]=>
    string(1) "9"
    ["limit"]=>
    string(5) "70000"
  }
}

0.png
2.png

参考http://php.net/manual/zh/function.array-multisort.php

复制全文 生成海报 PHP 编程 数据处理

推荐文章

Vue3中如何处理组件间的动画?
2024-11-17 04:54:49 +0800 CST
回到上次阅读位置技术实践
2025-04-19 09:47:31 +0800 CST
php strpos查找字符串性能对比
2024-11-19 08:15:16 +0800 CST
`Blob` 与 `File` 的关系
2025-05-11 23:45:58 +0800 CST
Go语言SQL操作实战
2024-11-18 19:30:51 +0800 CST
php 统一接受回调的方案
2024-11-19 03:21:07 +0800 CST
使用 Go Embed
2024-11-19 02:54:20 +0800 CST
赚点点任务系统
2024-11-19 02:17:29 +0800 CST
GROMACS:一个美轮美奂的C++库
2024-11-18 19:43:29 +0800 CST
SQL常用优化的技巧
2024-11-18 15:56:06 +0800 CST
nuxt.js服务端渲染框架
2024-11-17 18:20:42 +0800 CST
Vue3中的v-model指令有什么变化?
2024-11-18 20:00:17 +0800 CST
Rust 高性能 XML 读写库
2024-11-19 07:50:32 +0800 CST
前端如何一次性渲染十万条数据?
2024-11-19 05:08:27 +0800 CST
PHP中获取某个月份的天数
2024-11-18 11:28:47 +0800 CST
MyLib5,一个Python中非常有用的库
2024-11-18 12:50:13 +0800 CST
PHP 微信红包算法
2024-11-17 22:45:34 +0800 CST
【SQL注入】关于GORM的SQL注入问题
2024-11-19 06:54:57 +0800 CST
Elasticsearch 文档操作
2024-11-18 12:36:01 +0800 CST
程序员茄子在线接单