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 相关文章推荐
将OICQ数据转成MYSQL数据
Oct 09 PHP
php代码把全角数字转为半角数字
Dec 10 PHP
php函数之子字符串替换 str_replace
Mar 23 PHP
基于PHP导出Excel的小经验 完美解决乱码问题
Jun 10 PHP
基于PHPExcel的常用方法总结
Jun 13 PHP
PHP把网页保存为word文件的三种方法
Apr 01 PHP
PHP中error_reporting()用法详解
Aug 31 PHP
PHP+jQuery+Ajax实现分页效果 jPaginate插件的应用
Oct 09 PHP
详谈php中 strtr 和 str_replace 的效率问题
May 14 PHP
PHP 中 var_export、print_r、var_dump 调试中的区别
Jun 19 PHP
ThinkPHP like模糊查询,like多匹配查询,between查询,in查询,一般查询书写方法
Sep 26 PHP
PHP策略模式写法
Apr 01 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
使用PHP批量生成随机用户名
2008/07/10 PHP
微信公众平台开发关注及取消关注事件的方法
2014/12/23 PHP
php外部执行命令函数用法小结
2016/10/11 PHP
PHP 接入微信扫码支付总结(总结篇)
2016/11/03 PHP
无阻塞加载脚本分析[全]
2011/01/20 Javascript
javascript学习笔记(十九) 节点的操作实现代码
2012/06/20 Javascript
获取客户端电脑日期时间js代码(jquery)
2012/09/12 Javascript
window.opener用法和用途实例介绍
2013/08/19 Javascript
JS获取农历日期具体实例
2013/11/14 Javascript
jquery自动填充勾选框即把勾选框打上true
2014/03/24 Javascript
jQuery中next()方法用法实例
2015/01/07 Javascript
node.js调用C++开发的模块实例
2015/07/03 Javascript
jquery+css3实现会动的小圆圈效果
2016/01/27 Javascript
用nodejs的实现原理和搭建服务器(动态)
2016/08/10 NodeJs
学习使用jQuery表单验证插件和日历插件
2017/02/13 Javascript
微信小程序中显示html格式内容的方法
2017/04/25 Javascript
Vue编写多地区选择组件
2017/08/21 Javascript
聊聊那些使用前端Javascript实现的机器学习类库
2017/09/18 Javascript
Vue实现搜索结果高亮显示关键字
2019/05/28 Javascript
JS页面获取 session 值,作用域和闭包学习笔记
2019/10/16 Javascript
vue中keep-alive、activated的探讨和使用详解
2020/07/26 Javascript
Vue+Java+Base64实现条码解析的示例
2020/09/23 Javascript
python中for循环把字符串或者字典添加到列表的方法
2019/07/20 Python
python 哈希表实现简单python字典代码实例
2019/09/27 Python
基于python+selenium的二次封装的实现
2020/01/06 Python
虚拟机下载python是否需要联网
2020/07/27 Python
python实现企业微信定时发送文本消息的示例代码
2020/11/24 Python
python excel多行合并的方法
2020/12/09 Python
Noon埃及:埃及在线购物
2019/11/26 全球购物
什么是聚集索引和非聚集索引
2012/01/17 面试题
腾讯广告词
2014/03/19 职场文书
群众路线四风问题整改措施
2014/09/27 职场文书
2015年入党决心书
2015/02/05 职场文书
2015年治庸问责工作总结
2015/07/27 职场文书
Python 语言实现六大查找算法
2021/06/30 Python
WINDOWS 64位 下安装配置mysql8.0.25最详细的教程
2022/03/22 MySQL