有人能告诉我为什么这个code
在php
中返回double
吗?
$personal_id = ((int) $person['born_number'] * 2);
Gettype($personal_id)
像这样返回double
4294967294.0
我该如何解决这个问题?谢谢
为什么要加倍?因为变量不适合整数大小。
您可以使用gmp来模拟大整数。http://php.net/manual/en/intro.gmp.php
但我认为这太过了。如果使用字符串而不是整数怎么办?
$personalId = sprintf("%.0f", ($a*2));
试试这个;
$personal_id = floor($person['born_number'] * 2);
也许你应该试试intval()
(参见官方文档)
$personal_id = intval($person['born_number'] * 2);
$personal_id = (int)($born_number * 2);