dpgui8229808 2017-11-13 11:02
浏览 386
已采纳

在laravel框架中删除PHP中的重复数组

I have more than 4 arrays in single variable as shown below

$myArray = Array ( [0] => NA [1] => NA [2] => USA [3] => NA [4] => Texas )Array ( [0] => NA [1] => NA [2] => UK [3] => NA [4] => Texas  )Array ( [0] => NA [1] => NA [2] => USA [3] => NA [4] => Texas ) Array ( [0] => NA [1] => NA [2] => UAE [3] => NA [4] => Texas )

Now i need to compare each and every array of [2] index.

If second index ([2] => USA) is present in some other array then delete duplicate array.

Finally the arrays should look like this

Array ( [0] => NA [1] => NA [2] => USA [3] => NA [4] => Texas )Array ( [0] => NA [1] => NA [2] => UK [3] => NA [4] => Texas )Array ( [0] => NA [1] => NA [2] => UAE [3] => NA [4] => Texas ).

I have tried this but not able to sort it out.

$myArray = array_map("unserialize", array_unique(array_map("serialize", $myArray)));

Is there any way?

  • 写回答

2条回答 默认 最新

  • doulong4169 2017-11-13 11:15
    关注

    You can use a foreach loop for this, like DEMO:

    $match = [];
    foreach($myArray as $key => $value)
    {
        if(!in_array($value[2], $match))
        {
            $match[] = $value[2];
            continue;
        }
        unset($myArray[$key]);
    }
    

    This will remove all of the arrays which have duplicate value for [2]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵