?請問兩個數(shù)組怎么合并到一起?數(shù)組如下: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????)固定的數(shù)值變量:$Num(例如50);需求:對比兩個數(shù)組,如果日期相同的,就用數(shù)組2的value減去數(shù)組1的value(48-2)作為value;如果不一樣的就用固定數(shù)值$Num減去數(shù)組1的value(50-2);然后重新組合成一個數(shù)組或者字符串,包含數(shù)組1和數(shù)組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條經(jīng)驗 獲得超227個贊
考慮到數(shù)組鍵為字符串,用php內(nèi)置數(shù)組函數(shù)操作比較方便,于是便寫了以下函數(shù)
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); ????} ????//合并新數(shù)組key覆蓋value更新?? ????return?array_merge($brr,$data); } //測試OK print_r(array_date_merge($arr,$brr,50));
- 1 回答
- 0 關注
- 1435 瀏覽
添加回答
舉報
0/150
提交
取消