700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > php按照字段合并数组 PHP实现数组根据某个字段进行水平合并横向合并代码实例...

php按照字段合并数组 PHP实现数组根据某个字段进行水平合并横向合并代码实例...

时间:2021-03-07 17:59:35

相关推荐

php按照字段合并数组 PHP实现数组根据某个字段进行水平合并横向合并代码实例...

本篇文章小编给大家分享一下PHP实现数组根据某个字段进行水平合并横向合并代码实例,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。

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

需求

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

数组a

Array

(

[0] => Array

(

[date] => -04-02

[today_pay_money] => 168.00

[today_pay_num] => 1

[yesterday_pay_money] => 999.00

[yesterday_pay_num] => 1

)

[1] => Array

(

[date] => -04-09

[today_pay_money] => 0.01

[today_pay_num] => 1

[yesterday_pay_money] => 0.00

[yesterday_pay_num] => 0

)

[2] => Array

(

[date] => -05-05

[today_pay_money] => 0.01

[today_pay_num] => 1

[yesterday_pay_money] => 2.00

[yesterday_pay_num] => 1

)

[3] => Array

(

[date] => -05-11

[today_pay_money] => 0.00

[today_pay_num] => 0

[yesterday_pay_money] =>

[yesterday_pay_num] => 1

)

)

数组B

Array

(

[0] => Array

(

[date] => -05-07

[today_pay_money1] => 0

[today_pay_num1] => 0

[yesterday_pay_money1] => 0

[yesterday_pay_num1] => 0

)

[1] => Array

(

[date] => -05-11

[today_pay_money1] => 0

[today_pay_num1] => 0

[yesterday_pay_money1] => 1

[yesterday_pay_num1] => 1

)

)

需要格式

Array

(

[-04-02] => Array

(

[date] => -04-02

[today_pay_money] => 168.00

[today_pay_num] => 1

[yesterday_pay_money] => 999.00

[yesterday_pay_num] => 1

)

[-04-09] => Array

(

[date] => -04-09

[today_pay_money] => 0.01

[today_pay_num] => 1

[yesterday_pay_money] => 0.00

[yesterday_pay_num] => 0

)

[-05-05] => Array

(

[date] => -05-05

[today_pay_money] => 0.01

[today_pay_num] => 1

[yesterday_pay_money] => 2.00

[yesterday_pay_num] => 1

)

[-05-11] => Array

(

[date] => -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

)

[-05-07] => Array

(

[date] => -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);

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。