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
Форумы портала PHP.SU :: Версия для печати :: Как удалить повторяющиеся символы в строке?
Форумы портала PHP.SU » » Вопросы новичков » Как удалить повторяющиеся символы в строке?

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

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

Можно ли такое сделать ?
2. LIME - 27 Мая, 2015 - 19:51:59 - перейти к сообщению
3. GoDr - 28 Мая, 2015 - 08:34:47 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $a = "fg3wff3g99e9sfd";
  2.  
  3.  
  4. echo $b;
4. LIME - 28 Мая, 2015 - 08:55:55 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $str = "fg3wff3g99e9sfdпрпр";
  2. $arr = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);
  3. $b = implode('', array_unique($arr));
Хорошо
5. GoDr - 28 Мая, 2015 - 09:49:43 - перейти к сообщению
LIME, твоя строка длиннее Радость
6. LIME - 28 Мая, 2015 - 09:54:55 - перейти к сообщению
GoDr а разницы в исходном тексте не увидел?
(Добавление)
в смысле многобайтовости
7. GoDr - 28 Мая, 2015 - 10:15:07 - перейти к сообщению
конечно заметил!
не стал заострять внимание.. В условии этого не было, а строка уж очень похожа на хеш Радость


кстати, есть и такое mb_split(), но что-то я не смог ей воспользоваться
8. Ch_chov - 28 Мая, 2015 - 10:17:00 - перейти к сообщению
Если порядок символов не важен то можно так:


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

Здесь первый параметр у implode можно пропустить.
9. LIME - 28 Мая, 2015 - 10:19:24 - перейти к сообщению
Ch_chov phpStorm ругаться будет
10. GoDr - 28 Мая, 2015 - 10:19:37 - перейти к сообщению
Ch_chov пишет:
Здесь первый параметр у implode можно пропустить.
У меня привычка указывать значение именно в этой функции ))) просто нагляднее что и как
(Добавление)
LIME пишет:
Ch_chov phpStorm ругаться будет
Уже давно не ругается Улыбка

 

Powered by ExBB FM 1.0 RC1