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 相关文章推荐
使用 MySQL Date/Time 类型
Mar 26 PHP
坏狼php学习 计数器实例代码
Jun 15 PHP
codeigniter框架批量插入数据
Jan 09 PHP
php删除数组元素示例分享
Feb 17 PHP
一个显示效果非常不错的PHP错误、异常处理类
Mar 21 PHP
php使用date和strtotime函数输出指定日期的方法
Nov 14 PHP
php实现MySQL数据库备份与还原类实例
Dec 09 PHP
FastCGI 进程意外退出造成500错误
Jul 26 PHP
Zend Framework数据库操作方法实例总结
Dec 11 PHP
YII2框架中使用yii.js实现的post请求
Apr 09 PHP
PHP token验证生成原理实例分析
Jun 05 PHP
PHP的图像处理实例小结【文字水印、图片水印、压缩图像等】
Dec 20 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
第一节--面向对象编程
2006/11/16 PHP
推荐一篇入门级的Class文章
2007/03/19 PHP
sql注入与转义的php函数代码
2013/06/17 PHP
Zend Framework教程之动作的基类Zend_Controller_Action详解
2016/03/07 PHP
深入理解PHP中的empty和isset函数
2016/05/26 PHP
PHP开发制作一个简单的活动日程表Calendar
2016/06/20 PHP
PHP+iframe图片上传实现即时刷新效果
2016/11/18 PHP
json格式化/压缩工具 Chrome插件扩展版
2010/05/25 Javascript
JS控件的生命周期介绍
2012/10/22 Javascript
js控制淡入淡出示例代码
2013/11/12 Javascript
jQuery实现页面顶部下拉广告
2016/12/30 Javascript
AngularJS使用带属性值的ng-app指令实现自定义模块自动加载的方法
2017/01/04 Javascript
JS实现队列的先进先出功能示例
2017/05/10 Javascript
vue.js element-ui tree树形控件改iview的方法
2018/03/29 Javascript
微信小程序HTTP接口请求封装的实现
2019/02/21 Javascript
EasyUI 数据表格datagrid列自适应内容宽度的实现
2019/07/18 Javascript
Vue + ts实现轮播插件的示例
2020/11/10 Javascript
JavaScript手写数组的常用函数总结
2020/11/22 Javascript
python对配置文件.ini进行增删改查操作的方法示例
2017/07/28 Python
python3实现点餐系统
2019/01/24 Python
利用anaconda保证64位和32位的python共存
2021/03/09 Python
关于Python 的简单栅格图像边界提取方法
2019/07/05 Python
python GUI库图形界面开发之PyQt5状态栏控件QStatusBar详细使用方法实例
2020/02/28 Python
Python如何通过百度翻译API实现翻译功能
2020/04/02 Python
CSS3+font字体文件实现圆形半透明菜单具体步骤(图解)
2013/06/03 HTML / CSS
美国女士泳装店:Swimsuits For All
2017/03/02 全球购物
幼儿如何来做好自我评价
2013/11/05 职场文书
大四学年自我鉴定
2013/11/13 职场文书
工伤赔偿协议书
2014/04/15 职场文书
政治表现评语
2014/05/04 职场文书
优秀教育工作者事迹材料
2014/12/24 职场文书
有关西游记的读书笔记
2015/06/25 职场文书
PHP实现创建以太坊钱包转账等功能
2021/04/21 PHP
python Tkinter模块使用方法详解
2022/04/07 Python
SQL Server中使用表变量和临时表
2022/05/20 SQL Server
vue本地构建热更新卡顿的问题“75 advanced module optimization”完美解决方案
2022/08/05 Vue.js