preg_replace显示有限制


preg_replace displaying with limit?

我有php代码

preg_replace( "/([0-9]{2})([0-9]{4})([0-9]{4})([0-9]{4})/", 
               "$1 $2 $3 $4", 
               121234123412341234)

其结果是CCD_ 1。我需要成为12 1234 1234....

也许我需要使用其他功能?

在输入周围使用单引号

echo preg_replace("/([0-9]{2})([0-9]{4})([0-9]{4})([0-9]{4})/", "$1 $2 $3 $4", '121234123412341234');

输出

12 1234 1234 12341234

编码板

使用字符串。PHP无法处理如此大的整数,除非它们被转换为浮点:

整数的大小取决于平台,尽管最大值大约20亿是通常的值(即32位有符号)。64位平台通常具有大约9E18的最大值。PHP确实不支持无符号整数。整数大小可以使用常数PHP_INT_SIZE和使用该常数的最大值PHP_INT_MAX,自PHP 4.4.0和PHP 5.0.5起。

在我的电脑里,PHP_INT_MAX是2147483647。

综上所述,请比较:

var_dump(121234123412341234, '121234123412341234');
float(1.2123412341234E+17)
string(18) "121234123412341234"