Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как удалить повторяющиеся символы в строке?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
kuzmit4
Отправлено: 27 Мая, 2015 - 19:35:58
Post Id


Новичок


Покинул форум
Сообщений всего: 31
Дата рег-ции: Март 2015  


Помог: 0 раз(а)




Есть необычная задача.
Переменная с набором символов, как вырезать все повторяющиеся символы, т.е. чтобы после вырезания каждый символ встречался один раз
PHP:
скопировать код в буфер обмена
  1.  
  2. $a = "fg3wff3g99e9sfd"; // сейчас так
  3. // Нужно удалить все повторяющиеся символы, и получить "fg3w9esd"
  4.  

Можно ли такое сделать ?
 
 Top
LIME
Отправлено: 27 Мая, 2015 - 19:51:59
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




 
 Top
GoDr
Отправлено: 28 Мая, 2015 - 08:34:47
Post Id



Посетитель


Покинул форум
Сообщений всего: 446
Дата рег-ции: Янв. 2015  
Откуда: Тамбов


Помог: 17 раз(а)




PHP:
скопировать код в буфер обмена
  1. $a = "fg3wff3g99e9sfd";
  2.  
  3.  
  4. echo $b;


-----
Система управления веб-содержимым Lotos CMS
 
 Top
LIME
Отправлено: 28 Мая, 2015 - 08:55:55
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




PHP:
скопировать код в буфер обмена
  1. $str = "fg3wff3g99e9sfdпрпр";
  2. $arr = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);
  3. $b = implode('', array_unique($arr));
Хорошо
 
 Top
GoDr
Отправлено: 28 Мая, 2015 - 09:49:43
Post Id



Посетитель


Покинул форум
Сообщений всего: 446
Дата рег-ции: Янв. 2015  
Откуда: Тамбов


Помог: 17 раз(а)




LIME, твоя строка длиннее Радость


-----
Система управления веб-содержимым Lotos CMS
 
 Top
LIME
Отправлено: 28 Мая, 2015 - 09:54:55
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




GoDr а разницы в исходном тексте не увидел?
(Добавление)
в смысле многобайтовости
 
 Top
GoDr
Отправлено: 28 Мая, 2015 - 10:15:07
Post Id



Посетитель


Покинул форум
Сообщений всего: 446
Дата рег-ции: Янв. 2015  
Откуда: Тамбов


Помог: 17 раз(а)




конечно заметил!
не стал заострять внимание.. В условии этого не было, а строка уж очень похожа на хеш Радость


кстати, есть и такое mb_split(), но что-то я не смог ей воспользоваться

(Отредактировано автором: 28 Мая, 2015 - 10:17:31)



-----
Система управления веб-содержимым Lotos CMS
 
 Top
Ch_chov
Отправлено: 28 Мая, 2015 - 10:17:00
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008  
Откуда: из города


Помог: 90 раз(а)




Если порядок символов не важен то можно так:


Цитата:
implode('', array_unique($arr))

Здесь первый параметр у implode можно пропустить.
 
 Top
LIME
Отправлено: 28 Мая, 2015 - 10:19:24
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Ch_chov phpStorm ругаться будет
 
 Top
GoDr
Отправлено: 28 Мая, 2015 - 10:19:37
Post Id



Посетитель


Покинул форум
Сообщений всего: 446
Дата рег-ции: Янв. 2015  
Откуда: Тамбов


Помог: 17 раз(а)




Ch_chov пишет:
Здесь первый параметр у implode можно пропустить.
У меня привычка указывать значение именно в этой функции ))) просто нагляднее что и как
(Добавление)
LIME пишет:
Ch_chov phpStorm ругаться будет
Уже давно не ругается Улыбка


-----
Система управления веб-содержимым Lotos CMS
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB