如何解决合并数组并按日期重新组合数据
我有两个多维数组,想按日期将数据分组(在php中)。我尝试了merge和merge_recursive,但是不起作用。
第一个数组:
array(100) {
[1]=>
array(1) {
["2020-04-18"]=>
array(1) {
["best_price_product"]=>
float(489.1)
}
}
[2]=>
array(1) {
["2020-04-19"]=>
array(1) {
["best_price_product"]=>
float(489.1)
}
}
[3]=>
array(1) {
["2020-04-20"]=>
array(1) {
["best_price_product"]=>
float(489.1)
}
}
[4]=>
array(1) {
["2020-04-21"]=>
array(1) {
["best_price_product"]=>
float(489.1)
}
}
….
}
第二个数组:
array(88) {
[1]=>
array(1) {
["2020-04-18"]=>
array(1) {
["best_price_product_mp"]=>
float(526.3)
}
}
[2]=>
array(1) {
["2020-04-19"]=>
array(1) {
["best_price_product_mp"]=>
float(526.3)
}
}
[3]=>
array(1) {
["2020-04-20"]=>
array(1) {
["best_price_product_mp"]=>
float(526.3)
}
}
[4]=>
array(1) {
["2020-05-03"]=>
array(1) {
["best_price_product_mp"]=>
float(526.3)
}
}
...
}
我希望结果是这样的:
array(100) {
[1]=>
array(2) {
["2020-04-18"]=>
array(2) {
["best_price_product"]=>
float(489.1)
["best_price_product_mp"]=>
float(526.3)
}
}
[2]=>
array(1) {
["2020-04-19"]=>
array(2) {
["best_price_product"]=>
float(489.1)
["best_price_product_mp"]=>
float(526.3)
}
}
[3]=>
array(2) {
["2020-04-20"]=>
array(1) {
["best_price_product"]=>
float(489.1)
["best_price_product_mp"]=>
float(526.3)
}
}
[4]=>
array(1) {
["2020-04-21"]=>
array(2) {
["best_price_product"]=>
float(489.1)
["best_price_product_mp"]=>
float(526.3)
}
}
[5]=>
array(1) {
["2020-05-03"]=>
array(1) {
["best_price_product_mp"]=>
float(526.3)
}
}
….
}
在两个数组的合并中,除了合并的日期外,还有每个数组中唯一的其他日期。
谢谢
解决方法
您可以展平两个数组并合并它们:
$result = array_merge_recursive(call_user_func_array('array_merge',$a1),call_user_func_array('array_merge',$a2));
结果也将被展平,例如:
Array
(
[2020-04-18] => Array
(
[best_price_product] => 1
[best_price_product_mp] => 2
),[2020-04-19] => Array
(
[best_price_product] => 3
[best_price_product_mp] => 4
)
)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。