侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

PHP实现数组根据某个字段进行水平合并,横向合并案例分析

2022-06-21 星期二 / 0 评论 / 0 点赞 / 80 阅读 / 3929 字

本文实例讲述了PHP实现数组根据某个字段进行水平合并,横向合并。分享给大家供大家参考,具体如下:PHP数组水平合并,横向合并,两条数据合并成一行需求将两个素组中日期相同的合并成一行数组aArray( [0] => Ar

本文实例讲述了PHP实现数组根据某个字段进行水平合并,横向合并。分享给大家供大家参考,具体如下:

PHP数组水平合并,横向合并,两条数据合并成一行

需求

将两个素组中日期相同的合并成一行

数组a

.
Array(  [0] => Array    (      [date] => 2019-04-02      [today_pay_money] => 168.00      [today_pay_num] => 1      [yesterday_pay_money] => 999.00      [yesterday_pay_num] => 1    )  [1] => Array    (      [date] => 2019-04-09      [today_pay_money] => 0.01      [today_pay_num] => 1      [yesterday_pay_money] => 0.00      [yesterday_pay_num] => 0    )  [2] => Array    (      [date] => 2019-05-05      [today_pay_money] => 0.01      [today_pay_num] => 1      [yesterday_pay_money] => 2.00      [yesterday_pay_num] => 1    )  [3] => Array    (      [date] => 2019-05-11      [today_pay_money] => 0.00      [today_pay_num] => 0      [yesterday_pay_money] =>      [yesterday_pay_num] => 1    ))
.

数组B

.
Array(  [0] => Array    (      [date] => 2019-05-07      [today_pay_money1] => 0      [today_pay_num1] => 0      [yesterday_pay_money1] => 0      [yesterday_pay_num1] => 0    )  [1] => Array    (      [date] => 2019-05-11      [today_pay_money1] => 0      [today_pay_num1] => 0      [yesterday_pay_money1] => 1      [yesterday_pay_num1] => 1    ))
.

需要格式

.
Array(  [2019-04-02] => Array    (      [date] => 2019-04-02      [today_pay_money] => 168.00      [today_pay_num] => 1      [yesterday_pay_money] => 999.00      [yesterday_pay_num] => 1    )  [2019-04-09] => Array    (      [date] => 2019-04-09      [today_pay_money] => 0.01      [today_pay_num] => 1      [yesterday_pay_money] => 0.00      [yesterday_pay_num] => 0    )  [2019-05-05] => Array    (      [date] => 2019-05-05      [today_pay_money] => 0.01      [today_pay_num] => 1      [yesterday_pay_money] => 2.00      [yesterday_pay_num] => 1    )  [2019-05-11] => Array    (      [date] => 2019-05-11      [today_pay_money] => 0.00      [today_pay_num] => 0      [yesterday_pay_money] =>      [yesterday_pay_num] => 1      [today_pay_money1] => 0      [today_pay_num1] => 0      [yesterday_pay_money1] => 1      [yesterday_pay_num1] => 1    )  [2019-05-07] => Array    (      [date] => 2019-05-07      [today_pay_money1] => 0      [today_pay_num1] => 0      [yesterday_pay_money1] => 0      [yesterday_pay_num1] => 0    ))
.

代码实现

先将a,b数组合并,判断当前日期下是否空,空的话直接赋值,不空的话,将已有素组和当前数组合并

.
$total = array_merge($a,$b));$res = array();foreach ($total as $k => $v) {  if (empty($res[$v['date']]))  $res[$v['date']] = $v;  else  $res[$v['date']]= array_merge($res[$v['date']],$v);}
.

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数组(Array)操作技巧大全》、《php排序算法总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《php字符串(string)用法总结》及《PHP常用遍历算法与技巧总结

希望本文所述对大家PHP程序设计有所帮助。

广告 广告

评论区