Link Search Menu Expand Document
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 г.