基本上,您想要的类似于
array_diff_assoc,但适用于json对象,并且是递归的。
array_diff由于引用问题,这些函数不是递归的:可以将数组的引用分配给该数组的条目,从而使数组无限递归。我认为使用json对象无法获得相同的情况,从而使递归函数安全。
假设您希望计算对象A和对象B之间的差,并将结果存储在对象C中。原理是遍历A的每个字段(a
foreach应该这样做),以及何时:
- B中不存在此类字段,请通过C复制它。
- 在B中存在一个相似的字段,将A字段与B字段之差的结果放入C中,这是对以这些字段为参数的diff函数以及结果的新鲜对象的递归调用。
应遵守A的顺序。



