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