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实现小型站点广告管理(修正版)
Oct 09 PHP
dedecms采集中可以过滤多行代码的正则表达式
Mar 17 PHP
PHP+JS+rsa数据加密传输实现代码
Mar 23 PHP
zend optimizer在wamp的基础上安装图文教程
Oct 26 PHP
PHP变量内存分配问题记录整理
Nov 27 PHP
PHP中new static()与new self()的区别异同分析
Aug 22 PHP
yii实现图片上传及缩略图生成的方法
Dec 04 PHP
PHP解析RSS的方法
Mar 05 PHP
PHP之预定义接口详解
Jul 29 PHP
PHP的AES加密算法完整实例
Jul 20 PHP
PHP常用函数之格式化时间操作示例
Oct 21 PHP
php命令行模式代码实例详解
Feb 26 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一些服务器端特性的配置加强php的安全
2006/10/09 PHP
一个显示效果非常不错的PHP错误、异常处理类
2014/03/21 PHP
PHP Trait代码复用类与多继承实现方法详解
2019/06/17 PHP
表单填写时用回车代替TAB的实现方法
2007/10/09 Javascript
用jQuery扩展自写的 UI导航
2010/01/13 Javascript
javascript showModalDialog 内跳转页面的问题
2010/11/25 Javascript
使用Grunt.js管理你项目的应用说明
2013/04/24 Javascript
JS保存、读取、换行、转Json报错处理方法
2013/06/14 Javascript
jquery特效 幻灯片效果示例代码
2013/07/16 Javascript
探讨js字符串数组拼接的性能问题
2014/10/11 Javascript
JavaScript实现快速排序的方法
2015/07/31 Javascript
jQuery中 $ 符号的冲突问题及解决方案
2016/11/04 Javascript
jquery+ajax实现省市区三级联动效果简单示例
2017/01/04 Javascript
VUE实现日历组件功能
2017/03/13 Javascript
AngularJS1.X学习笔记2-数据绑定详解
2017/04/01 Javascript
详解Vue中watch的详细用法
2018/11/28 Javascript
javascript中的offsetWidth、clientWidth、innerWidth及相关属性方法
2020/05/14 Javascript
vue模块移动组件的实现示例
2020/05/20 Javascript
[03:22]DSPL第一期精彩集锦:酷炫到底!
2014/11/07 DOTA
python实现超简单端口转发的方法
2015/03/13 Python
用Python代码来解图片迷宫的方法整理
2015/04/02 Python
python内存管理分析
2015/04/08 Python
Python使用Supervisor来管理进程的方法
2015/05/28 Python
python实现京东秒杀功能
2018/07/30 Python
python中scikit-learn机器代码实例
2018/08/05 Python
Python3.5多进程原理与用法实例分析
2019/04/05 Python
Python hashlib模块实例使用详解
2019/12/24 Python
pycharm 设置项目的根目录教程
2020/02/12 Python
django admin 根据choice字段选择的不同来显示不同的页面方式
2020/05/13 Python
解决python3中os.popen()出错的问题
2020/11/19 Python
新西兰网上购物,折扣店:BestDeals.co.nz
2019/03/20 全球购物
车工岗位职责
2013/11/26 职场文书
优秀本科毕业生自荐信
2014/07/04 职场文书
珠宝的促销活动方案
2014/08/31 职场文书
体育运动会广播稿
2014/10/05 职场文书
大学生旷课检讨书1000字
2015/02/19 职场文书