您的位置:首页 > 编程学习 > > 正文

php中怎么分割数组(PHP实现数组根据某个字段进行水平合并,横向合并案例分析)

更多 时间:2021-10-10 00:03:31 类别:编程学习 浏览量:2398

php中怎么分割数组

PHP实现数组根据某个字段进行水平合并,横向合并案例分析

本文实例讲述了PHP实现数组根据某个字段进行水平合并,横向合并。分享给大家供大家参考,具体如下:

PHP数组水平合并,横向合并,两条数据合并成一行

需求

将两个素组中日期相同的合并成一行

数组a

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 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

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 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
  •     )
  • )
  • 需要格式

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 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数组合并,判断当前日期下是否空,空的话直接赋值,不空的话,将已有素组和当前数组合并

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • $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程序设计有所帮助。

    原文链接:https://blog.csdn.net/flysnownet/article/details/90111860

    标签:PHP 数组 合并
    您可能感兴趣