у меня действительно похожие проблемы, как в этой теме: Правильный способ преобразования строки в long int в PHP
К сожалению, решение там не работает для меня.
Моя ситуация следующая:
У меня есть база данных WordPress с meta_key, значение которого 700
(в длинном тексте). Я хотел бы получить этот номер как целое число.
Но когда я использую intval($meta_value)
или даже (float) $meta_value
он добавляет дополнительный ноль в конце и возвращает 7000
🙁
Может ли кто-нибудь помочь, пожалуйста?
РЕДАКТИРОВАТЬ: скриншоты добавлены
вот изображение данных в базе данных
вот код, который загружает это значение и преобразует его
Но сайт все еще возвращается 7000
Вот оригинальный код:
$meta_value = the_author_meta('pocet_bodu', $user_id);
echo $meta_value;
Это возвращает хорошо 700, но это не число, и его нельзя использовать для математических операций. Как только я пытаюсь преобразовать его в целое число или число с плавающей точкой, число равно 7000.
Это была забавная проблема. Пожалуйста, измените the_author_meta () в get_the_author_meta ().
Бывшая функция будет эхо «700» (без возвращаемого значения), а затем вы дополнительно echo (int)
на это невозвратное значение (эффективно (int)false
, если я не ошибаюсь, это 0). Там твой 7000.
Других решений пока нет …