新手!PHP关于两个数组对比!
程序员文章站
2022-05-27 12:47:48
...
现在有两个数组:
A数组是从以产品ID为准到数据库获取过来的产品属性
B数组是页面提交过来的产品属性
两个数组对比,以A数组为基准,如果B数组比A数组少了一个元素,则删除数据库里面的这个元素关联ID!
如果B数组比A数组多了一个元素,则在数据库里面里面添加这个元素和关联ID
求教大神!!!
用$new数组跟$a数组对比,是增加还是删减就看你自己了
A数组是从以产品ID为准到数据库获取过来的产品属性
B数组是页面提交过来的产品属性
两个数组对比,以A数组为基准,如果B数组比A数组少了一个元素,则删除数据库里面的这个元素关联ID!
如果B数组比A数组多了一个元素,则在数据库里面里面添加这个元素和关联ID
求教大神!!!
回复讨论(解决方案)
B 比 A 多出的项 array_diff(B, A)
A 比 B 多出的项 array_diff(A, B)
//B数组比A数组少了一个元素$a=array('a1','a2','a3','a4');$b=array('a1','a2','a3');$new=array_merge(array_diff($a, array_intersect($a, $b)), array_diff($b, array_intersect($a, $b)));echo "";print_r($new);echo "";/*Array( [0] => a4)*///B数组比A数组多了一个元素$a=array('a1','a2','a3');$b=array('a1','a2','a3','b1','b2');$new=array_merge(array_diff($a, array_intersect($a, $b)), array_diff($b, array_intersect($a, $b)));echo "";print_r($new);echo "";/*Array( [0] => b1 [1] => b2)*/
用$new数组跟$a数组对比,是增加还是删减就看你自己了
上一篇: 怎样使用JavaScript保存文本数据
下一篇: 如何解决主从数据库同步延迟问题?