我有php代码
preg_replace( "/([0-9]{2})([0-9]{4})([0-9]{4})([0-9]{4})/",
"$1 $2 $3 $4",
121234123412341234)
结果是1.21234123412E+17
。我需要12 1234 1234....
也许我需要使用其他功能?
答案 0 :(得分:2)
在输入
周围使用单引号echo preg_replace("/([0-9]{2})([0-9]{4})([0-9]{4})([0-9]{4})/", "$1 $2 $3 $4", '121234123412341234');
<强>输出强>
12 1234 1234 12341234
答案 1 :(得分:0)
使用字符串。 PHP cannot handle such large integers,除非它们转换为float:
整数的大小取决于平台,尽管是最大值 大约20亿是通常的值(32位签名)。 64位平台的最大值通常约为9E18。 PHP确实如此 不支持无符号整数。可以使用确定整数大小 常量PHP_INT_SIZE,使用常量的最大值 自PHP 4.4.0和PHP 5.0.5以来的PHP_INT_MAX。
在我的电脑中,PHP_INT_MAX
是2147483647。
总结一下,请比较:
var_dump(121234123412341234, '121234123412341234');
float(1.2123412341234E+17)
string(18) "121234123412341234"