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 相关文章推荐
一个域名查询的程序
Oct 09 PHP
PHP上传图片进行等比缩放可增加水印功能
Jan 13 PHP
WordPress开发中短代码的实现及相关函数使用技巧
Jan 05 PHP
PHP函数shuffle()取数组若干个随机元素的方法分析
Apr 02 PHP
PHP isset()与empty()的使用区别详解
Feb 10 PHP
Laravel中如何增加自定义全局函数详解
May 09 PHP
浅谈PHP发送HTTP请求的几种方式
Jul 25 PHP
PHP标准库(PHP SPL)详解
Mar 16 PHP
laravel按天、按小时,查询数据的实例
Oct 09 PHP
gearman管理工具GearmanManager的安装与php使用方法示例
Feb 27 PHP
CentOS7系统搭建LAMP及更新PHP版本操作详解
Mar 26 PHP
如何在PHP中读写文件
Sep 07 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
利用yahoo汇率接口实现实时汇率转换示例 汇率转换器
2014/01/14 PHP
php有道翻译api调用方法实例
2014/12/22 PHP
laravel5.6中的外键约束示例
2019/10/23 PHP
jQuery对象和DOM对象使用说明
2010/06/25 Javascript
基于JQuery的多标签实现代码
2012/09/19 Javascript
js AppendChild与insertBefore用法详细对比
2013/12/16 Javascript
js 高效去除数组重复元素示例代码
2013/12/19 Javascript
nodejs简单实现中英文翻译
2015/05/04 NodeJs
js操作cookie保存浏览记录的方法
2015/12/25 Javascript
js实现消息滚动效果
2017/01/18 Javascript
JQuery.dataTables表格插件添加跳转到指定页
2017/06/09 jQuery
深入理解vue $refs的基本用法
2017/07/13 Javascript
Vue单文件组件基础模板小结
2017/08/10 Javascript
微信小程序滚动Tab实现左右可滑动切换
2017/08/17 Javascript
angular2路由切换改变页面title的示例代码
2017/08/23 Javascript
微信小程序使用audio组件播放音乐功能示例【附源码下载】
2017/12/08 Javascript
在vue-cli中组件通信的方法
2017/12/16 Javascript
Angular利用trackBy提升性能的方法
2018/01/26 Javascript
vue 组件使用中的一些细节点
2018/04/25 Javascript
微信小程序用户授权弹窗 拒绝时引导用户重新授权实现
2019/07/29 Javascript
0基础学习前端开发的一些建议
2020/07/14 Javascript
Vue 构造选项 - 进阶使用说明
2020/08/14 Javascript
Python利用前序和中序遍历结果重建二叉树的方法
2016/04/27 Python
Python cookbook(字符串与文本)在字符串的开头或结尾处进行文本匹配操作
2018/04/20 Python
python 获取sqlite3数据库的表名和表字段名的实例
2019/07/17 Python
pygame实现烟雨蒙蒙下彩虹雨
2019/11/11 Python
Python3监控疫情的完整代码
2020/02/20 Python
Pycharm同步远程服务器调试的方法步骤
2020/11/04 Python
娇韵诗Clarins意大利官方网站:法国天然护肤品牌
2020/03/11 全球购物
优秀党员转正的自我评价
2013/10/06 职场文书
心得体会开头
2014/01/01 职场文书
老师对学生的评语
2014/04/18 职场文书
劳动竞赛口号
2014/06/16 职场文书
乡党委干部党的群众路线教育实践活动个人对照检查材料思想汇报
2014/10/01 职场文书
Windows Server 2016 配置 IIS 的详细步骤
2022/04/28 Servers
httpclient调用远程接口的方法
2022/08/14 Java/Android