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 验证码制作(网树注释思想)
Jul 20 PHP
PHP编程过程中需要了解的this,self,parent的区别
Dec 30 PHP
PHP GD 图像处理组件的常用函数总结
Apr 28 PHP
Base64在线编码解码实现代码 演示与下载
Jan 08 PHP
preg_match_all使用心得分享
Jan 31 PHP
destoon网站转移服务器后搜索汉字出现乱码的解决方法
Jun 21 PHP
利用PHP脚本在Linux下用md5函数加密字符串的方法
Jun 29 PHP
PHP中COOKIES使用示例
Jul 26 PHP
关于PHP内置的字符串处理函数详解
Feb 04 PHP
用PHP去掉文件头的Unicode签名(BOM)方法
Jun 22 PHP
PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】
Nov 14 PHP
ThinkPHP5.0框架控制器继承基类和自定义类示例
May 25 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
Yii净化器CHtmlPurifier用法示例(过滤不良代码)
2016/07/15 PHP
风吟的小型JavaScirpt库 (FY.JS).
2010/03/09 Javascript
jquery.cookie.js 操作cookie实现记住密码功能的实现代码
2011/04/27 Javascript
自己写的兼容ie和ff的在线文本编辑器类似ewebeditor
2012/12/12 Javascript
使用js实现按钮控制文本框加1减1应用于小时+分钟
2013/12/09 Javascript
JavaScript使用Max函数返回两个数字中较大数的方法
2015/04/06 Javascript
javascript获取select值的方法分析
2015/07/02 Javascript
JavaScript操作选择对象的简单实例
2016/05/16 Javascript
JQuery 传送中文乱码问题的简单解决办法
2016/05/24 Javascript
js面向对象实现canvas制作彩虹球喷枪效果
2016/09/24 Javascript
使用cookie绕过验证码登录的实现代码
2017/10/12 Javascript
nodeJS模块简单用法示例
2018/04/21 NodeJs
JavaScript作用域、闭包、对象与原型链概念及用法实例总结
2018/08/20 Javascript
layui监听下拉选框选中值变化的方法(包含监听普通下拉选框)
2019/09/24 Javascript
[01:17]炒鸡美酒第四天TA暴走
2018/06/05 DOTA
python实现根据用户输入从电影网站获取影片信息的方法
2015/04/07 Python
详解Python编程中基本的数学计算使用
2016/02/04 Python
Python的时间模块datetime详解
2017/04/17 Python
python的staticmethod与classmethod实现实例代码
2018/02/11 Python
浅谈PYTHON 关于文件的操作
2019/03/19 Python
Python socket模块方法实现详解
2019/11/05 Python
利用pipenv和pyenv管理多个相互独立的Python虚拟开发环境
2020/11/01 Python
PyCharm最新激活码PyCharm2020.2.3有效
2020/11/18 Python
详解CSS3:overflow属性
2020/11/17 HTML / CSS
HTML5通过调用canvas对象的getContext()方法来获取绘图环境
2014/06/23 HTML / CSS
Eastbay官网:美国最大的运动鞋网络零售商
2016/07/27 全球购物
蒂娜商店:Tiina the Store
2019/12/07 全球购物
美国家居装饰店:Z Gallerie
2020/12/28 全球购物
常用UNIX 命令(Linux的常用命令)
2015/12/26 面试题
带薪年假请假条
2014/02/04 职场文书
公证委托书大全
2014/04/04 职场文书
电话客服专员岗位职责
2014/06/28 职场文书
庆祝儿童节标语
2014/10/09 职场文书
平安家庭事迹材料
2014/12/20 职场文书
幼儿园毕业致辞
2015/07/29 职场文书
高考升学宴主持词
2019/06/21 职场文书