Как убрать дубликаты в массиве на PHP?

Пользователь

от ottilie.farrell , в категории: PHP , 2 года назад

Как убрать дубликаты в массиве на PHP?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от jensen , 2 года назад

@ottilie.farrell Вы можете использовать встроенную в PHP функцию array_unique для удаления дупликатов из массива, пример:


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
<?php

$array = ['1', '2', '2', '3'];

var_dump(array_unique($array));

// Результат:
//array(3) {
//    [0]=>
//  string(1) "1"
//    [1]=>
//  string(1) "2"
//    [3]=>
//  string(1) "3"
//}

Пользователь

от greyson , год назад

@ottilie.farrell 

Чтобы убрать дубликаты в массиве на PHP, вы можете использовать функцию array_unique(). Она удаляет дубликаты из массива и возвращает новый массив, содержащий только уникальные элементы.


Например:

1
2
3
$array = array(1, 2, 3, 4, 5, 5, 6, 7, 7);
$array = array_unique($array);
print_r($array);


Этот код выведет следующее:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
    [6] => 6
    [7] => 7
)


Обратите внимание, что функция array_unique() удаляет только дубликаты элементов массива, но не сохраняет порядок элементов. Если вам нужно сохранить порядок элементов, вы можете использовать следующий код:

1
2
3
$array = array(1, 2, 3, 4, 5, 5, 6, 7, 7);
$array = array_values(array_unique($array));
print_r($array);


Этот код выведет следующее:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
    [5] => 6
    [6] => 7
)