请问两个数组怎么合并到一起?数组如下:Array ( [2018-05-23] => 2 [2018-05-24] => 2 [2018-05-25] => 2 ) Array ( [2018-05-16] => 48 [2018-05-17] => 48 [2018-05-18] => 48 [2018-05-19] => 48 [2018-05-23] => 12 [2018-05-24] => 12 )固定的数值变量:$Num(例如50);需求:对比两个数组,如果日期相同的,就用数组2的value减去数组1的value(48-2)作为value;如果不一样的就用固定数值$Num减去数组1的value(50-2);然后重新组合成一个数组或者字符串,包含数组1和数组2的所有日期和值。最终效果:2018-05-16,48|2018-05-17,48|2018-05-18,48|2018-05-19,48|2018-05-23,10|2018-05-24,10|2018-05-25,48
1 回答
pardon110
TA贡献1038条经验 获得超227个赞
考虑到数组键为字符串,用php内置数组函数操作比较方便,于是便写了以下函数
function array_date_merge($arr,$brr,$fixValue=50){ //获取交集keys $sameKey = array_keys(array_intersect_key($arr,$brr)); foreach($arr as $k => $v){ $data[$k] = in_array($k,$sameKey)?($brr[$k]-$v):($fixValue-$v); } //合并新数组key覆盖value更新 return array_merge($brr,$data); } //测试OK print_r(array_date_merge($arr,$brr,50));
- 1 回答
- 0 关注
- 1388 浏览
添加回答
举报
0/150
提交
取消