douyong4842 2013-07-29 17:15
浏览 62
已采纳

在数组中查找重复值,该数组创建一个新数组,其中键为重复键,值为dupe

I am trying to find all duplicates in my array, and create a new array which has keys as the duplicate values key and value as the key of its duplicate

example

[1] => 10
[2] => 11
[3] => 12
[4] => 12
[5] => 12
[6] => 13
[7] => 13

After I apply the duplicate check I just need

[4] => [3] // value of key 4 is dupe of key 3
[5] => [3] // value of key 5 is dupe of key 3
[7] => [6] // value of key 7 is dupe of key 6

this gets me all duplicate keys, but I need duplicate keys with values as the keys which are duplicate

$arr_duplicates = array_keys(array_unique( array_diff_assoc( $array, array_unique( $array ) ) ));

Thanks

  • 写回答

2条回答 默认 最新

  • douchen9855 2013-07-29 17:51
    关注

    Try this for potential speed boost over the other solution. Will however use a lot more memory on large data sets.

    <?php
    
    $orig = array(
        1   => 10,
        2   => 11,
        3   => 12,
        4   => 12,
        5   => 12,
        6   => 13,
        7   => 13
    );
    
    $seen  = array();
    $dupes = array();
    
    foreach ($orig as $k => $v) {
        if (isset($seen[$v])) {
            $dupes[$k] = $seen[$v];
        } else {
            $seen[$v] = $k;
        }
    }
    unset($seen);
    
    var_dump($dupes);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
  • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
  • ¥20 测距传感器数据手册i2c