удалить повторяющиеся значения из многомерного массива в PHP
У меня есть csv-файл, я читаю данные из него, я соединяю все, которые случайным образом соответствуют их строкам, таким как бренды, клиенты и скоро..,
Здесь я хочу удалить все дубликаты из многомерного массива, которые уже в массиве
Здесь вы можете увидеть, как все повторяющиеся значения добавляются к массиву на этом изображении
Вот мой 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);
Спасибо и добро пожаловать за все предложения
2 ответа:
Вам нужно изменить, куда вы смотрите в
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]; } }