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
adodb与adodb_lite之比较
Dec 31 PHP
php 缩略图实现函数代码
Jun 23 PHP
提示Trying to clone an uncloneable object of class Imagic的解决
Oct 27 PHP
php判断电脑访问、手机访问的例子
May 10 PHP
php解析json数据实例
Aug 19 PHP
详解YII关联查询
Jan 10 PHP
php基于mcrypt_encrypt和mcrypt_decrypt实现字符串加密解密的方法
Jul 12 PHP
PHP针对伪静态的注入总结【附asp与Python相关代码】
Aug 01 PHP
PHP获取本周所有日期或者最近七天所有日期的方法
Jun 20 PHP
解决laravel查询构造器中的别名问题
Oct 17 PHP
解决laravel中日志权限莫名变成了root的问题
Oct 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
php部分常见问题总结
2008/03/27 PHP
Parse正式发布开源PHP SDK
2014/08/11 PHP
推荐5款跨平台的PHP编辑器
2014/12/25 PHP
php实现websocket实时消息推送
2018/03/30 PHP
PHP的PDO连接讲解
2019/01/24 PHP
PHP code 验证码生成类定义和简单使用示例
2020/05/27 PHP
JavaScript 参考教程
2006/12/29 Javascript
基于jquery的弹出提示框始终处于窗口的居中位置(类似于alert弹出框的效果)
2011/09/28 Javascript
js运动框架_包括图片的淡入淡出效果
2013/05/11 Javascript
如何书写高质量jQuery代码(使用jquery性能问题)
2014/06/30 Javascript
仿淘宝TAB切换搜索框搜索切换的相关内容
2014/09/21 Javascript
深入探讨javascript函数式编程
2015/10/11 Javascript
JavaScript中Math对象的方法介绍
2017/01/05 Javascript
canvas绘制一个常用的emoji表情
2017/03/30 Javascript
JS实现汉字与Unicode码相互转换的方法详解
2017/04/28 Javascript
Node.js 基础教程之全局对象
2017/08/06 Javascript
vue自定义指令实现方法详解
2019/02/11 Javascript
小程序多图列表实现性能优化的方法步骤
2019/05/28 Javascript
使用 webpack 插件自动生成 vue 路由文件的方法
2019/08/20 Javascript
从零开始在vue-cli4配置自适应vw布局的实现
2020/06/08 Javascript
Python类定义和类继承详解
2015/05/08 Python
python如何在终端里面显示一张图片
2016/08/17 Python
Python基于sftp及rsa密匙实现远程拷贝文件的方法
2016/09/21 Python
python 3.0 模拟用户登录功能并实现三次错误锁定
2017/11/01 Python
python3 selenium 切换窗口的几种方法小结
2018/05/21 Python
django认证系统实现自定义权限管理的方法
2018/07/16 Python
python3使用pandas获取股票数据的方法
2018/12/22 Python
在python3中实现更新界面
2020/02/21 Python
python获取系统内存占用信息的实例方法
2020/07/17 Python
网络工程师面试(三木通信技术有限公司)
2013/06/05 面试题
活动总结的格式
2014/05/07 职场文书
党的群众路线学习笔记
2014/11/06 职场文书
运动会开幕式主持词
2015/07/01 职场文书
Python入门之使用pandas分析excel数据
2021/05/12 Python
关于Vue中的options选项
2022/03/22 Vue.js
CentOS7和8下安装Maven3.8.4
2022/04/07 Servers