2015-10-21 110 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

它確實返回您想要的值。 –