2015-10-21 75 views
0

我想要一个递增的$max_id被返回。递增一个大整数

看来,下面的脚本不工作:

<?php 
$max_id = 656886639189471232; 
$max_id = $max_id+1; 
$max_id = number_format($max_id, 0, '', ''); 
var_dump($max_id); 
?> 

所需656886639189471233

+2

什么它会返回吗? – MTCoster

+0

切换到64位PHP –

+0

@MTCoster返回字符串(18)“656886639189471232”。我需要字符串(18)“656886639189471233” – neptune

回答

2

试试这个:

<?php 
$a = "656886639189471232"; 
$b = "1"; 

echo bcadd($b, $a,0); 
?> 

如果输入的数据都是整数,你可以转换$a$b到字符串:

$var=5; 
$tostring = strval($var); 
echo var_dump($tostring); 
+0

这工作,谢谢 – neptune

-1

删除以下行:

$max_id = number_format($max_id, 0, '', ''); 

下正常工作:

$max_id = 656886639189471232; 
$max_id = $max_id+1; 
var_dump($max_id); 
+0

这是一个错误,将其删除。 – user2988034

+1

你会得到'656886639189471233'的输出吗? –

+0

它确实返回您想要的值。 –