我想要一個遞增的$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