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

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

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

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

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

@jeromy_ruecker Можно использовать встроенную функцию array_unique() на PHP, чтобы удалить одинаковые элементы из массива, ниже пример кода:


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

$arr = [1, 1, 2, 2];

$arr = array_unique($arr);

print_r($arr);

// Вывод:
//Array
//(
//    [0] => 1
//    [2] => 2
//)


Всегда открыт для интересных проектов. Ссылки на мои соц. сети в профиле.

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

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

@jeromy_ruecker 

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


Пример:

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


Вывод:

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


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


Пример:

1
2
3
$array = array("a" => 1, "b" => 2, "c" => 2, "d" => 3);
$array = array_unique($array, SORT_REGULAR);
print_r($array);


Вывод:

1
2
3
4
5
6
Array
(
    [a] => 1
    [b] => 2
    [d] => 3
)


В этом примере функция array_unique() удаляет только одно из двух повторяющихся значений "2", так как они имеют разные ключи ("b" и "c").