| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Как из строки вырезать число |
| Автор: kulikoff 11.10.2009, 08:15 | ||
| Доброго времени суток! Возникла такая проблема. В базе данных есть строковое поле, в котором хранится информация в виде
Известно, что число встречается один раз, больше никаких цифр в тексте нет. Надо выделить это число из строки. Т.е., очистить содержимое строки от букв и пробелов, оставить одно число. Так понимаю, что это надо использовать регулярные выражения, но я в них не силен... Помогите, плиз! |
| Автор: Ипатьев 11.10.2009, 09:38 |
| Я думаю, будет лучше описать реальную задачу. что за база, что за данные, что за число. В каком запросе понадобилось его вырезать. |
| Автор: SoWa 11.10.2009, 09:42 | ||
http://ru2.php.net/manual/en/function.floatval.php |
| Автор: kulikoff 11.10.2009, 09:52 |
| Значится, описываю реальную задачу, т.к., может, я совсем не туда думаю... Есть у нас таблица, в которой есть стоимость. Поле стоимости текстовое и содержит информацию вида "от 1635 евро/чел", "от 13 дол" и т.д. Стоит задача сделать упорядочивание по цене, т.е., чтоб сначала выводились более дешевые туры в сторону возрастания цены. С валютой проблем нет, т.к. сначала будут выводиться те, у которых в цене указан дол, потом евро. А вот с абсолютным значением цены никак не могу справится, потому решил просто вырезать число, записать в отдельное поле базы и по нему уже упорядочивать. Понимаю, что немного гланды через попу удалять, но база досталась такая, какая есть, и надо искать выходы из существующей уже... |
| Автор: bars80080 11.10.2009, 11:56 |
| а нельзя эту задачу решить правильно организуя БД и упорядочивая по полям? |
| Автор: kulikoff 11.10.2009, 18:11 |
| просто база уже такая есть... Мне надо исходить из имеющегося... Или переформатировать надо, но всё равно надо решить эту проблему |
| Автор: kulikoff 14.10.2009, 21:23 |
| Всё, решил задачу. Спасибо большое SoWa!!! |
| Автор: Nicklasos 14.10.2009, 22:05 | ||
Такую задачу лучше делать через регулярные выражения.
Такой вариант выводит "0" |
| Автор: brother79 30.10.2009, 07:10 |
| Решение не указанно в форуме, вот нашёл ссылку: http://www.mysql.ru/docs/man/Regexp.html Я полагаю решение было такое. |
| Автор: nerezus 30.10.2009, 11:01 | ||
|