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 函数执行效率的小比较
Oct 17 PHP
PHP5中虚函数的实现方法分享
Apr 20 PHP
PHP header()函数常用方法总结
Apr 11 PHP
PHP实现AES256加密算法实例
Sep 22 PHP
php中使用sftp教程
Mar 30 PHP
PHP中Session可能会引起并发问题
Jun 26 PHP
PHP下SSL加密解密、验证、签名方法(很简单)
Jun 28 PHP
php基于jquery的ajax技术传递json数据简单实例
Apr 15 PHP
PHP入门教程之自定义函数用法详解(创建,调用,变量,参数,返回值等)
Sep 11 PHP
php获取今日开始时间和结束时间的方法
Feb 27 PHP
php测试kafka项目示例
Feb 06 PHP
laravel中Redis队列监听中断的分析
Sep 14 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
第十一节 重载 [11]
2006/10/09 PHP
php中is_null,empty,isset,unset 的区别详细介绍
2013/04/28 PHP
PHP使用CURL实现多线程抓取网页
2015/04/30 PHP
Yii框架上传图片用法总结
2016/03/28 PHP
php arsort 数组降序排序详细介绍
2016/11/17 PHP
用javascript实现点击链接弹出"图片另存为"而不是直接打开
2007/08/15 Javascript
wangEditor编辑器失去焦点后仍然可以在原位置插入图片分析
2015/05/06 Javascript
JavaScript动态改变div属性的实现方法
2015/07/22 Javascript
基于JS实现导航条之调用网页助手小精灵的方法
2016/06/17 Javascript
JavaScript 上传文件(psd,压缩包等),图片,视频的实现方法
2017/06/19 Javascript
JavaScript中附件预览功能实现详解(推荐)
2017/08/15 Javascript
JavaScript 中 JSON.parse 函数 和 JSON.stringify 函数
2018/12/05 Javascript
jQuery实现滑动开关效果
2020/08/02 jQuery
[54:47]Liquid vs VP Supermajor决赛 BO 第五场 6.10
2018/07/05 DOTA
[51:17]完美世界DOTA2联赛循环赛Inki vs DeMonsTer 第二场 10月30日
2020/10/31 DOTA
Python实现的简单万年历例子分享
2014/04/25 Python
在Python中用keys()方法返回字典键的教程
2015/05/21 Python
python 实现创建文件夹和创建日志文件的方法
2019/07/07 Python
解决python中导入win32com.client出错的问题
2019/07/26 Python
Python实现栈的方法详解【基于数组和单链表两种方法】
2020/02/22 Python
Python如何基于Tesseract实现识别文字功能
2020/06/05 Python
scrapy在python爬虫中搭建出错的解决方法
2020/11/22 Python
Python应用自动化部署工具Fabric原理及使用解析
2020/11/30 Python
python 爬虫请求模块requests详解
2020/12/04 Python
CSS3制作ajax loader icon实现思路及代码
2013/08/25 HTML / CSS
基础的CSS3弹性盒Flexbox布局使用实例
2016/04/08 HTML / CSS
高中生毕业自我鉴定
2013/10/10 职场文书
计算机专业毕业生推荐信
2013/11/25 职场文书
电话销售经理岗位职责
2013/12/07 职场文书
网上商城创业计划书范文
2014/01/31 职场文书
《三顾茅庐》教学反思
2014/04/10 职场文书
委托书怎么写
2014/07/31 职场文书
2014年妇委会工作总结
2014/12/10 职场文书
就业导师推荐信范文
2015/03/27 职场文书
新年祝酒词大全
2015/08/11 职场文书
win10拖拽文件时崩溃怎么解决?win10文件不能拖拽问题解决方法
2022/08/14 数码科技