【发布时间】:2016-07-24 13:53:41
【问题描述】:
我确实有与这个主题非常相似的问题:Proper way of converting string to long int in PHP
不幸的是,解决方案对我不起作用。
我的情况如下:
我确实有带有 meta_key 的 Wordpress 数据库,其值为 700(在 LONGTEXT 中)。我想将此数字设为整数。
但是当我使用intval($meta_value) 甚至(float) $meta_value 时,它会在末尾添加额外的零并返回7000 :(
有人可以帮忙吗?
编辑:添加截图
但该网站仍在返回7000
这是原始代码:
$meta_value = the_author_meta('pocet_bodu', $user_id);
echo $meta_value;
这会返回正确的 700,但它不是数字,不能用于数学运算。一旦我尝试将其转换为整数或浮点数,数字就是 7000。
【问题讨论】:
-
我从未听说过将 long 转换为 int 会导致乘以 10。您能在这里给我们展示一些实际数据吗?
-
如果你这样投怎么办:
(int) $meta_value -
imo,我会:调试:
var_dump($meta_value, bin2hex($meta_value), strlen($meta_value), intval($meta_value), (float) $meta_value, __FILE__.__LINE__));为什么?看看实际数据到底是什么,而不仅仅是可打印的字符。此外,它可以快速完成并且很容易看到正在发生的事情。 -
好的,7000从哪里来?显然不是来自 $meta_value?
-
将您的代码发布为纯文本,而不是图像。
标签: php sql wordpress integer longtext