Как удалить повторяющиеся элементы из массива в PHP?

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

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

Как удалить повторяющиеся элементы из массива в PHP?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

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

@stephania Используйте array_unique() стандартную функцию PHP, чтобы удалить повторяющиеся элементы из массива, пример кода:


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

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

print_r(array_unique($array));

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


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

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

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

@stephania 

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

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


В результате выполнения этого кода будет выведен массив, содержащий только уникальные элементы:

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


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

1
2
3
$myArray = array("a" => 1, "b" => 2, "c" => 2, "d" => 3);
$uniqueArray = array_keys(array_flip($myArray));
print_r($uniqueArray);


В результате выполнения этого кода будет выведен массив, содержащий только уникальные элементы исходного массива с сохранением ключей:

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


Вы также можете использовать цикл foreach для итерации по элементам массива и удаления повторяющихся элементов. Вот как это сделать:

1
2
3
4
5
6
7
8
$myArray = array(1, 2, 2, 3, 4, 4, 5);
$uniqueArray = array();
foreach ($myArray as $value) {
    if (!in_array($value, $uniqueArray)) {
        $uniqueArray[] = $value;
    }
}
print_r($uniqueArray);


В результате выполнения этого кода будет выведен массив, содержащий только уникальные элементы:

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


Это три простых способа удаления повторяющихся элементов из массива в PHP.