4
    $date = "1346706576967";  // miliseconds
    $newDate = (int) $date;
    echo $newDate;

$newDateとして「2147483647」を取得しています。

変数をString1346706576967からint1346706576967に変換したいだけです-これはどのように可能ですか?

4

4 に答える 4

5

2147483647は、残念ながら整数が保持できる最大値です。floatは10000000000000までの整数値を正確に保持できるため、代わりにfloatを使用できます。

于 2012-09-07T17:14:38.630 に答える
2

これはPHPの整数が持つことができる最大サイズであるためです。BCMathやGMPなどのより大きな整数を処理するために作成された、または単にfloatに変換するために作成されたPHPライブラリが必要になります。

于 2012-09-07T17:15:05.223 に答える
1

可能な変換、

$input => 1346706576967
(integer)$input => 2147483647
intval($input) => 2147483647
$input*1 => 1346706576967
settype($input, "integer") => 1346706576967

http://phpconvert.com/online/

于 2013-03-27T12:25:11.150 に答える
0

暗黙の変換を使用して、正しく変換できます。

$date = "1346706576967";  // miliseconds
$newDate = 0+$date; // float(1346706576967)
$newDate = (int) $date; // int(2147483647)
于 2012-09-07T17:32:09.483 に答える