我想要一个递增的$max_id
被返回。递增一个大整数
看来,下面的脚本不工作:
<?php
$max_id = 656886639189471232;
$max_id = $max_id+1;
$max_id = number_format($max_id, 0, '', '');
var_dump($max_id);
?>
所需656886639189471233
我想要一个递增的$max_id
被返回。递增一个大整数
看来,下面的脚本不工作:
<?php
$max_id = 656886639189471232;
$max_id = $max_id+1;
$max_id = number_format($max_id, 0, '', '');
var_dump($max_id);
?>
所需656886639189471233
试试这个:
<?php
$a = "656886639189471232";
$b = "1";
echo bcadd($b, $a,0);
?>
如果输入的数据都是整数,你可以转换$a
和$b
到字符串:
$var=5;
$tostring = strval($var);
echo var_dump($tostring);
这工作,谢谢 – neptune
删除以下行:
$max_id = number_format($max_id, 0, '', '');
下正常工作:
$max_id = 656886639189471232;
$max_id = $max_id+1;
var_dump($max_id);
问题是number_format是用于float的。
你可以对这个其他职位细节Why is my number value changing using number_format()?
什么它会返回吗? – MTCoster
切换到64位PHP –
@MTCoster返回字符串(18)“656886639189471232”。我需要字符串(18)“656886639189471233” – neptune