比较2个JSON对象,删除重复项

时间:2016-04-07 18:51:54

标签: php json

我需要能够比较两个JSON对象,如:

$json1 = json_encode('["red", "green", "blue", "white"]');
$json2 = json_encode('["bla", "something", "haha", "blue"]');

现在,比较这两个对象,值" blue",是重复的,应该从$json2中删除。

我将如何做到这一点?

1 个答案:

答案 0 :(得分:1)

如果您已将JSON解码为PHP数组json_decode($json1, true),那么:

找到重复项:

$dupes = array_intersect($json1, $json2);

获得差异(没有重复):

//to remove from $json1
$json1 = array_diff($json1, $dupes);

//to remove from $json2
$json2 = array_diff($json2, $dupes);

要从$json2中删除它会更容易:

$json2 = array_diff($json2, $json1);