HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > PHP
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 10.05.2010, 02:56
roxblnfk
Познающий
Регистрация: 07.02.2010
Сообщений: 70
Провел на форуме:
217996

Репутация: 56
Отправить сообщение для roxblnfk с помощью ICQ
Wink

ну вы даёте

> Есть таблица со строкой name. В ней находятся числа через запятую 1,5,54,234 и т.д. Как средствами php можно удалить число 54 из данной строки.

m0Hze, кодом
PHP код:
$return str_replace($need.',','',$str); 
ты можешь удалить что надо + обрезать похожее на него, например в строке $str='1,2,3,12,13,23'; надо удалить $need='2';
В итоге будет 1,3,113,23 (откуда тут 113 оО? и почему вместо пяти чисел тут их четыре..)
Ну и, как было замечено, число в конце строки не удаляет.

WNZRS, ты вобще извращенец перевести строку в массив уже другая методика,
но зачем перебирать массив и выравнивать ключи вручную, когда есть стандарные функции?
зачем делать чтото типа
$array[$i+$minus] = $array[$i]; , если после всех операций по удалению можно заюзать, например, array_values() и взять индексный массив
(только зачем это надо, если implode() работает с ассоциативными массивами?)

Можно исправить скрипт m0Hze, например, изменив так:
было:
PHP код:
 $return str_replace($need.',','',$str); 
стало:
PHP код:
$return substr(str_replace(','.$need.',',',',','.$str.','),1,-1); 
(но в учёт того, что я не знаю, как работает str_replace на низком уровне, а разбираться лень, то для гарантии того, что будут вырезаны ВСЕ требуемые числа, даже записанные подряд, можно использовать функцию два раза сразу)
PHP код:
$return substr(str_replace(','.$need.',',',',str_replace(','.$need.',',',',','.$str.',')),1,-1); 
(тут в кавычках 2 пробела сами появляются, их убить надо )
или
PHP код:
$return substr(str_replace(array(','.$need.',',','.$need.','),',',','.$str.','),1,-1); 

Последний раз редактировалось roxblnfk; 10.05.2010 в 12:14..
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 5421 21.04.2026 07:37
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ