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))
2 回答
守着星空守着你
TA贡献1799条经验 获得超8个赞
$array1=array(array('n3'=>'v3','n4'=>'v4'),array('n1'=>'v1','n2'=>'v2'));$array2=array(array('n1'=>'v1','n2'=>'v2'));$result=array_udiff($array1,$array2,function($v1,$v2){returnstrcmp(serialize($v1),serialize($v2));})//或者$result=array_filter($array1,function($v)use($array2){returnin_array($v,$array2);});你可以试试。
阿波罗的战车
TA贡献1862条经验 获得超6个赞
回调是你的好朋友。数据:$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相同就属于同一个数据。如果有必要自行更改回调的逻辑。
添加回答
举报
0/150
提交
取消