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


Posted in PHP onOctober 08, 2019

本文实例讲述了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 相关文章推荐
php基础知识:类与对象(5) static
Dec 13 PHP
php初学者写及时补给skype用户充话费的小程序
Nov 02 PHP
一步一步学习PHP(2)――PHP类型
Feb 15 PHP
php数组对百万数据进行排除重复数据的实现代码
Jun 08 PHP
destoon复制新模块的方法
Jun 21 PHP
PHP基于phpqrcode生成带LOGO图像的二维码实例
Jul 10 PHP
使用PHP similar text计算两个字符串相似度
Nov 06 PHP
PHP简单实现冒泡排序的方法
Dec 26 PHP
PHP读取Excel类文件
May 15 PHP
解决Yii2邮件发送结果返回成功,但接收不到邮件的问题
May 23 PHP
PHP实现双链表删除与插入节点的方法示例
Nov 11 PHP
php源码的安装方法和实例
Sep 26 PHP
thinkphp5框架前后端分离项目实现分页功能的方法分析
Oct 08 #PHP
PHP7 安装event扩展的实现方法
Oct 08 #PHP
thinkphp5+layui实现的分页样式示例
Oct 08 #PHP
调试php程序的简单步骤
Oct 04 #PHP
用php定义一个数组最简单的方法
Oct 04 #PHP
php输出文字乱码的解决方法
Oct 04 #PHP
PHP 多进程与信号中断实现多任务常驻内存管理实例方法
Oct 04 #PHP
You might like
77A一级收信机修理记
2021/03/02 无线电
PHP 采集获取指定网址的内容
2010/01/05 PHP
PHP数据库调用类调用实例(详细注释)
2012/07/12 PHP
Yii2使用dropdownlist实现地区三级联动功能的方法
2016/07/18 PHP
js toFixed()方法的重写实现精度的统一
2014/03/06 Javascript
简单实现异步编程promise模式
2015/07/31 Javascript
BootStrap智能表单demo示例详解
2016/06/13 Javascript
nodejs利用http模块实现银行卡所属银行查询和骚扰电话验证示例
2016/12/30 NodeJs
原生javascript实现读写CSS样式的方法详解
2017/02/20 Javascript
JQuery 封装 Ajax 常用方法(推荐)
2017/05/21 jQuery
动态加载权限管理模块中的Vue组件
2018/01/16 Javascript
ES6入门教程之let、const的使用方法
2019/04/13 Javascript
基于webpack4+vue-cli3项目实现换肤功能
2019/07/17 Javascript
vue+canvas实现拼图小游戏
2020/09/18 Javascript
Vue+Spring Boot简单用户登录(附Demo)
2020/11/12 Javascript
python3.3实现乘法表示例
2014/02/07 Python
Python通过PIL获取图片主要颜色并和颜色库进行对比的方法
2015/03/19 Python
Python中常见的数据类型小结
2015/08/29 Python
python flask实现分页效果
2017/06/27 Python
Python实现的凯撒密码算法示例
2018/04/12 Python
Python中实现单例模式的n种方式和原理
2018/11/14 Python
Python闭包思想与用法浅析
2018/12/27 Python
对python函数签名的方法详解
2019/01/22 Python
Python中*args和**kwargs的区别详解
2019/09/17 Python
Python中包的用法及安装
2020/02/11 Python
python 6种方法实现单例模式
2020/12/15 Python
IE矩阵Matrix滤镜旋转与缩放及如何结合transform
2012/11/29 HTML / CSS
介绍一下linux的文件权限
2012/02/15 面试题
市场营销职业生涯规划书范文
2014/01/12 职场文书
揠苗助长教学反思
2014/02/04 职场文书
党员领导干部廉洁从政承诺书
2014/03/27 职场文书
个人借款担保书
2014/04/02 职场文书
学习演讲稿范文
2014/05/10 职场文书
本科生导师推荐信范文
2014/05/18 职场文书
妇联主席先进事迹
2014/05/18 职场文书
《别在吃苦的年纪选择安逸》读后感3篇
2019/11/30 职场文书