Chernichko
@Chernichko
Учусь.

Как убрать не нужные символы в числовых значениях?

В огромном списке значений переменной (эти значения берутся из БД, они могут быть как числами , так и строкой, и вообще все вперемешку)

Мне необходимо у всех числовых значений поменять запятую на точку и убрать лишний пробел (1 200 ->1200). Это все делается вот так:

if(preg_match('/^[0-9, ]+$/i', $znach)){
                    $znach = str_replace(' ', '', $znach);
                    $znach = str_replace(',', '.', $znach);
                  }


И все бы хорошо, но есть около 10 чисел которые не попадают в этот отбор. И оказалось, что все дело в непонятном символе вместо пробела: 51fb2efa875d481a963204aff378ce54.png

как мне убрать этот символ из значения?
И вообще что это за символ?
  • Вопрос задан
  • 256 просмотров
Пригласить эксперта
Ответы на вопрос 2
Chernichko
@Chernichko Автор вопроса
Учусь.
valery_alexeev
@valery_alexeev
Interactive Designer & Web Development
Возможно стоит попробовать следующий вариант:
  1. Помимо вашего регулярного выражения попытаться очистить все значения функцией filter_var() с маской FILTER_SANITIZE_NUMBER_FLOAT . Список всех масок здесь.
  2. Преобразовать все числа при помощи функции number_format(), указав разделитель тысяч и десятичных дробей.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы