为了账号安全,请及时绑定邮箱和手机立即绑定

PHP数组的合并处理

PHP数组的合并处理

呼啦一阵风 2019-04-08 11:18:28
有两个数组:===========A:array([0]=>Array([Vtime]=>2014-01-1800:22:43[qr]=>0a5500f5d5e5847209d83a7fe637a34f)[1]=>Array([Vtime]=>2014-01-1700:00:00[qr]=>218e412b1d73f771e8b01b9d1f678f5b))===========B:array([0]=>Array([Date]=>2014-01-1800:22:43[Md5]=>0a5500f5d5e5847209d83a7fe637a34f)[1]=>Array([Date]=>2014-01-1800:22:43[Md5]=>218e412b1d73f771e8b01b9d1f678f5b)[2]=>Array([Date]=>2014-01-1700:00:00[Md5]=>218e412b1d73f771e8b01b9d1f678f5b)[3]=>Array([Date]=>2014-01-1700:00:00[Md5]=>218e412b1d73f771e8b01b9d1f678f5b)[4]=>Array([Date]=>2014-01-1700:00:00[Md5]=>218e412b1d73f771e8b01b9d1f678f5b))比较A数组Vtime和B数组中的Date是否相同,如果相同将数据合并(vtime,qr,Date,Md5)放到C数组,如果不相同,则单独把A数组放到C数组。(A数组要和B数组的每一个都对比,B数组只有和A数组对应的才会保留到C数组)求高手帮我想个办法。
查看完整描述

2 回答

?
POPMUISE

TA贡献1765条经验 获得超5个赞

$A=array(
array(
'Vtime'=>1,
'qr'=>2,
),
array(
'Vtime'=>3,
'qr'=>4,
),
);
$B=array(
array(
'date'=>1,
'md5'=>2,
),
array(
'date'=>5,
'md5'=>6,
),
);
$D=array();
foreach($Bas$b){
//没有考虑date重复的问题
$D[$b['date']]=$b;
}
$C=$A;
foreach($Cas&$c){
if(isset($D[$c['Vtime']])){
$c=array_merge($c,$D[$c['Vtime']]);
}
}
unset($c);
var_dump($C);
                            
查看完整回答
反对 回复 2019-04-08
?
大话西游666

TA贡献1817条经验 获得超14个赞

$A=array();//初始数据$A
$B=array();//初始数据$B
$D=array();
foreach($Bas$b){
$D['date'][]=$b['Date'];
$D['md5'][]=$b['Md5'];
}
$D=array_combine($D['date'],$D['md5']);
foreach($Aas&$a)
array_key_exists($a['Vtime'],$D)&&$a['md5']=$D[$a['Vtime']];
$C=$A;
                            
查看完整回答
反对 回复 2019-04-08
  • 2 回答
  • 0 关注
  • 348 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信