有人可以告诉我为什么code
会在double
中返回php
吗?
$personal_id = ((int) $person['born_number'] * 2);
Gettype($personal_id)
会像double
4294967294.0
我该如何解决这个问题?感谢。
答案 0 :(得分:1)
为什么加倍?因为变量不适合整数大小。
您可以使用gmp来模拟大整数。 http://php.net/manual/en/intro.gmp.php
但我认为这是过度工程。如果使用字符串而不是整数怎么办?
$personalId = sprintf("%.0f", ($a*2));
答案 1 :(得分:0)
试试这个;
$personal_id = floor($person['born_number'] * 2);
答案 2 :(得分:0)
也许您应该尝试intval()
(cf. official documentation)
$personal_id = intval($person['born_number'] * 2);
答案 3 :(得分:0)
$personal_id = (int)($born_number * 2);