具有关联数组的唯一数组 - 删除重复项

2024-04-08

我有一个包含一些重复项目的关联数组。例如,我有:

 <? 
 $group_array = array('user_id'=>array(), 'user_first'=>array());

其输出如下所示:

Array
 (
[user_id] => Array
    (
        [0] => 594
        [1] => 597
        [2] => 594
    )

[user_first] => Array
    (
        [0] => John
        [1] => James
        [2] => John
    )
)

我想清理整个数组,以便只有用户 John 才会出现一次(基于 user_id)。

我尝试过以下方法:

 <?php 
   $unique = array_unique($group_array);
   print_r($unique);

但它似乎不起作用。还有其他想法如何删除数组中的重复项吗?

任何帮助都会很棒!


另一种方法是寻找独特的user_ids,以及重要的是它们的数组键,然后仅保留每列中的相应值。

$group_array = array(
    'user_id'    => array(594,    597,     594,    598   ),
    'user_first' => array('John', 'James', 'John', 'John'),
);

// Find unique user_ids
$uniques = array_unique($group_array['user_id']);

// Keep only the uniques
foreach ($group_array as $column => $collection) {
    $group_array[$column] = array_intersect_key($collection, $uniques);
}

print_r($group_array);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

具有关联数组的唯一数组 - 删除重复项 的相关文章

随机推荐