Удаление дублирующих значений из строки php
Удалить дубликаты значений из строки php
Удаление дублирующих значений из строки php
Иногда возникает задача удаления дублирующих значений из строки.
Способ 1
Здесь напрашивается алгоритм:
- Разбить строки в массив по разделителю
- Выбрать уникальные значения массива
- Создать строку обратно
1
2
implode(',',array_unique(explode(',', 'значение1,значение2,значение3,значение1'))
// значение1,значение2,значение3
Еще разделить может быть другим:
1
2
implode(';',array_unique(explode(';',preg_replace('/\s+/','',' 79077777777; 34; 79077777777; 79077777777; 79077777777; 79077777777; 79077777777; 79077777777; 79077777777; 79077777777; 79077777777; 79077777777'))));
//79077777777;34
Здесь мы еще с помощью preg_replace
почистили пробелы в строке.
Способ 2
Еще можно воспользоваться особенностью массивов, а именно перемешать значения и ключи.
В итоге вытащить ключи и преобразовать в строку.
1
2
implode(',', array_keys(array_flip(explode(',', 'значение1,значение2,значение3,значение1'))));
// значение1,значение2,значение3
Авторский пост защищен лицензией CC BY 4.0 .