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中使用Oracle数据库(5)
Oct 09 PHP
PHP中uploaded_files函数使用方法详解
Mar 09 PHP
php常用字符串比较函数实例汇总
Nov 24 PHP
php下载文件超时时间的设置方法
Oct 06 PHP
phpstorm 正则匹配删除空行、注释行(替换注释行为空行)
Jan 21 PHP
PHP给源代码加密的几种方法汇总(推荐)
Feb 06 PHP
微信公众号开发之获取位置信息php代码
Jun 13 PHP
php使用mysqli和pdo扩展,测试对比连接mysql数据库的效率完整示例
May 09 PHP
PHP进阶学习之依赖注入与Ioc容器详解
Jun 19 PHP
laravel5环境隐藏index.php后缀(apache)的方法
Oct 12 PHP
laravel清除视图缓存的代码
Oct 23 PHP
PHPstorm激活码2020年5月13日亲测有效
Sep 17 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/10/09 PHP
phpfans留言版用到的install.php
2007/01/04 PHP
解析PHP计算页面执行时间的实现代码
2013/06/18 PHP
hadoop中一些常用的命令介绍
2013/06/19 PHP
php获取淘宝分类id示例
2014/01/16 PHP
用Zend Studio+PHPnow+Zend Debugger搭建PHP服务器调试环境步骤
2014/01/19 PHP
php实现上传图片生成缩略图示例
2014/04/13 PHP
手把手编写PHP框架 深入了解MVC运行流程
2016/09/19 PHP
PHP 中 var_export、print_r、var_dump 调试中的区别
2018/06/19 PHP
CSS常用网站布局实例
2008/04/03 Javascript
Javascript仿新浪游戏频道鼠标悬停显示子菜单效果
2015/08/21 Javascript
jQuery基于$.ajax设置移动端click超时处理方法
2016/05/14 Javascript
JS设计模式之命令模式概念与用法分析
2018/02/06 Javascript
Vue中使用canvas方法总结
2019/02/12 Javascript
webpack4.x下babel的安装、配置及使用详解
2019/03/07 Javascript
Python简单计算文件夹大小的方法
2015/07/14 Python
Python实现比较扑克牌大小程序代码示例
2017/12/06 Python
分数霸榜! python助你微信跳一跳拿高分
2018/01/08 Python
python 实现数组list 添加、修改、删除的方法
2018/04/04 Python
python 将print输出的内容保存到txt文件中
2018/07/17 Python
在Python中Dataframe通过print输出多行时显示省略号的实例
2018/12/22 Python
Python3.5基础之函数的定义与使用实例详解【参数、作用域、递归、重载等】
2019/04/26 Python
pytorch numpy list类型之间的相互转换实例
2019/08/18 Python
python 命令行传入参数实现解析
2019/08/30 Python
Python小程序 控制鼠标循环点击代码实例
2019/10/08 Python
django 外键创建注意事项说明
2020/05/20 Python
Python读取二进制文件代码方法解析
2020/06/22 Python
解决Pyinstaller打包软件失败的一个坑
2021/03/04 Python
HTML5 video视频字幕的使用和制作方法
2018/05/03 HTML / CSS
领班岗位职责范文
2014/02/06 职场文书
小学模范班主任事迹材料
2014/05/13 职场文书
大型公益活动策划方案
2014/08/20 职场文书
2016年教师学习廉政准则心得体会
2016/01/20 职场文书
python 爬取哔哩哔哩up主信息和投稿视频
2021/06/07 Python
Java的Object类的九种方法
2022/04/13 Java/Android
mysql 体系结构和存储引擎介绍
2022/05/06 MySQL