2 回答

TA貢獻1963條經驗 獲得超6個贊
在標準 PHP 中, long類型是不存在的。
所以,如果你想要一個長整數,你可以使用標準的int類型,或者使用擴展,比如BC或GMP。
具體來說,值695690829980893234在64位PHP的整數范圍內,但在32位PHP的整數范圍之外。
轉換為int:
首先,請確保數字在int范圍內。然后只需轉換
$res = intval("695690829980893234");
if($res<PHP_INT_MAX){
// OK! inside the positive limitation
}
轉換為GMP
一個 GMP 對象表示一個任意長度的整數:
$res = gmp_init("695690829980893234");
然后,使用GMP函數對號碼進行操作,如:
$res = gmp_add($res, gmp_init("100"));
$res = gmp_sub($res, gmp_init("200"));
最后,將其轉換回 int 或 string:
$int = gmp_intval($res);
$str = gmp_strval($res);
希望這個答案有所幫助。

TA貢獻1802條經驗 獲得超5個贊
確保您運行的是 64 位版本的 PHP。
echo PHP_INT_SIZE;
8
然后它會很容易地將字符串轉換為 int
$a = "695690829980893234";
$b = (int)$a;
var_dump($a, $b);
string(18) "695690829980893234"
int(695690829980893234)
- 2 回答
- 0 關注
- 202 瀏覽
添加回答
舉報