在删除重复项时合并两个多维数组,依赖于它们的特定元素

乔瓦尼·里扎

我在工作Facebook API我有这个数组:

["data"] => Array(31) {
    [0] => Array(6) {
        ["id"] => String(13) "6003110325672"
        ["name"] => String(17) "Cristiano Ronaldo"
        ["audience_size"] => Integer  122006620
        ["path"] => Array(3) {
            [0] => String(9) "Interessi"
            [1] => String(20) "Interessi aggiuntivi"
            [2] => String(17) "Cristiano Ronaldo"
        }
        ["description"] => NULL
        ["topic"] => String(6) "People"
    }
    [1] => Array(6) {
        ["id"] => String(13) "6003114817426"
        ["name"] => String(10) "Ronaldinho"
        ["audience_size"] => Integer  17910990
        ["path"] => Array(3) {
            [0] => String(9) "Interessi"
            [1] => String(20) "Interessi aggiuntivi"
            [2] => String(10) "Ronaldinho"
        }
        ["description"] => NULL
        ["topic"] => String(6) "People"
    }

继续使用其他索引。然后我得到了这个:

["data"] => Array(45) {
    [0] => Array(11) {
        ["id"] => String(13) "6003129962717"
        ["name"] => String(16) "Zinédine Zidane"
        ["type"] => NULL
        ["path"] => NULL
        ["description"] => NULL
        ["source"] => NULL
        ["partner"] => NULL
        ["audience_size"] => Integer  14137830
        ["country"] => NULL
        ["country_access"] => NULL
        ["topic"] => NULL
    }
    [1] => Array(11) {
        ["id"] => String(13) "6003115921142"
        ["name"] => String(13) "Thierry Henry"
        ["type"] => NULL
        ["path"] => NULL
        ["description"] => NULL
        ["source"] => NULL
        ["partner"] => NULL
        ["audience_size"] => Integer  2601710
        ["country"] => NULL
        ["country_access"] => NULL
        ["topic"] => NULL
    }
    [2] => Array(11) {
        ["id"] => String(13) "6003114817426"
        ["name"] => String(10) "Ronaldinho"
        ["type"] => NULL
        ["path"] => NULL
        ["description"] => NULL
        ["source"] => NULL
        ["partner"] => NULL
        ["audience_size"] => Integer  17910990
        ["country"] => NULL
        ["country_access"] => NULL
        ["topic"] => NULL
    }

作为第一个,继续使用其他索引。

首先,我尝试使用 合并数组array_merge(),但没有成功,因为我丢失了其中的部分数据。所以我想正确合并它们。然后,我注意到在第二个中我有“Ronaldinho”元素作为重复(2nd array index 21st array index 1)。我尝试了几乎所有方法来弄清楚如何删除合并中的第一个或第二个,但PHP每次都用错误和警告回复我。

我的目标是将两个数组合二为一,根据“名称”元素删除重复项。

我感谢谁能帮助我,我被困住了。

不要惊慌

有多种方法可以做到这一点。一种可能性是在合并之前使用第一个数组中的 id 来过滤第二个数组。

获取 ID:

$ids = array_flip(array_column($first, 'id'));

创建过滤器:

$distinct = function($item) use ($ids) { return !isset($ids[$item['id']]); };

过滤和合并:

$result = array_merge($first, array_filter($second, $distinct));

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

合并两个numpy数组并删除重复项?

在PHP的多维数组中合并依赖于键值的数组

合并两个排序的数组时,使用Java中的集合删除重复项

两个动态选择框都具有数据属性并依赖于它们

如何创建一个numpy 2-D数组,其元素依赖于已修复的两个列表的元素

如何返回依赖于两个函数的函数?

Rxjs:将两个流与一个依赖于另一个的流合并

合并两个表但删除特定列中的重复项

合并两个NSArray删除重复项

如何合并两个列表并删除重复项

合并两个列表,同时删除重复项

合并两个值并删除重复项

如何删除每列中的两个重复项之一并将它们合并到 r

如何让两个垂直元素之一的高度依赖于另一个?

在解决重复项时合并两个 CSV

合并两个列表并删除重复项,而不删除原始列表中的重复项

使用依赖于其他两个列的元素创建data.frame列(在R中)

比较两个Javascript数组并删除重复项

PHP-将两个数组合并为一个数组(也删除重复项)

合并两个多维数组

当两个macOS .plugin依赖于同一个.dylib并将它们分别捆绑在插件文件夹中时,会发生什么?

如何在两个多维数组之间合并尊重它们的键

如何在Swift中合并两个自定义类型数组并删除重复的自定义类型项?

当两个apt程序包依赖于同一程序包的两个不同版本时,会发生什么情况?

从两个numpy数组中删除重复的元素

Javascript根据数组的第一个元素从多维数组中删除重复项

合并/合并两个表,删除新的重复项[SAS中的PROC SQL]

构建依赖于公共代码的两个 Docker 容器的最佳方法是什么?

依赖于实现相同接口的两个对象的简单注入器