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

求这个两个数组的差集?

求这个两个数组的差集?

慕森卡 2019-03-30 09:31:41
Array([0]=>Array([id]=>11[parametername]=>参数名称11))Array([0]=>Array([id]=>6[parametername]=>参数名称6)[1]=>Array([id]=>10[parametername]=>参数名称10)[2]=>Array([id]=>11[parametername]=>参数名称11)[3]=>Array([id]=>15[parametername]=>参数编辑)[4]=>Array([id]=>16[parametername]=>参数20))
查看完整描述

1 回答

?
UYOU

TA贡献1878条经验 获得超4个赞

回调是你的好朋友。
数据:
$array1=array(
array("id"=>11,"parametername"=>"PARAMETERNAMEXI"),
array("id"=>30,"parametername"=>"PARAMETERNAMEXXX"),
);
$array2=array(
array("id"=>6,"parametername"=>"ParameterNameVI"),
array("id"=>10,"parametername"=>"ParameterNameX"),
array("id"=>11,"parametername"=>"ParameterNameXI"),
array("id"=>15,"parametername"=>"ParameterNameXV"),
array("id"=>16,"parametername"=>"ParameterNameXVI"),
);
比较代码如下:
array_udiff($array2,$array1,function($a,$b){
return($a['id']-$b['id']);
});
/*
array(
array("id"=>6,"parametername"=>"ParameterNameVI"),
array("id"=>10,"parametername"=>"ParameterNameX"),
array("id"=>15,"parametername"=>"ParameterNameXV"),
array("id"=>16,"parametername"=>"ParameterNameXVI"),
)
*/
array_udiff($array1,$array2,function($a,$b){
return($a['id']-$b['id']);
})
/*
array(
array("id"=>30,"parametername"=>"PARAMETERNAMEXXX"),
)
*/
另外我希望没理解错题意。以上代码均认为只要id相同就属于同一个数据。如果有必要自行更改回调的逻辑。
                            
查看完整回答
反对 回复 2019-03-30
  • 1 回答
  • 0 关注
  • 375 浏览
慕课专栏
更多

添加回答

举报

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