从php中的多维数组中删除重复值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从php中的多维数组中删除重复值相关的知识,希望对你有一定的参考价值。

我有csv文件,我正在读取它的数据,我加入所有随机匹配他们的行像品牌,客户和很快..,

在这里,我想删除已经在数组中的多维数组的所有重复

Here you can see how all duplicate values are appending to array in this image

这是我的php代码

$csv = array_map('str_getcsv', file('test.csv'));
//echo '<pre>';
//print_r($csv);
//exit;
$brand =[];
foreach ($csv as $key => $value) {
    if(!(in_array($value[14], $brand))){
    $brand[$value[21]]['brands'][]=$value[14];    
    $brand[$value[21]]['products'][]=$value[1];    
    }   
}
echo '<pre>';
print_r($brand);

感谢并欢迎所有建议

答案

您需要修改in_array中的位置。你想这两个我想肯定,并检查它是否先设置:

foreach ($csv as $key => $value) {
    if(!isset($brand[$value[21]]['brands']) ||
       !in_array($value[14], $brand[$value[21]]['brands'])){
            $brand[$value[21]]['brands'][]=$value[14];
    }
    if(!isset($brand[$value[21]]['products']) ||
       !in_array($value[14], $brand[$value[21]]['products'])){
            $brand[$value[21]]['products'][]=$value[1];
    }            
}
另一答案

array_unique()可以为你做到这一点。

http://php.net/manual/en/function.array-unique.php

以上是关于从php中的多维数组中删除重复值的主要内容,如果未能解决你的问题,请参考以下文章

如何从 PHP 中的多维数组中删除重复值 [重复]

如果两个值匹配,则从 php 中的多维关联数组中删除重复项

PHP:删除多维数组中的空数组字符串[重复]

PHP按多维数组中的值排序[重复]

如何从 PHP 中的数组中删除重复值

如何从 PHP 中的多维关联数组中删除项目