Php 数字不会更改为下一个数字

Php 数字不会更改为下一个数字,php,Php,我有一个字符串编号,如下所示。当我给它加1时,它会变成一个科学的表示,而不是一个实数,并且不会增加到下一个数。为什么它不递增 我希望4600004722057511变成4600004722057512 谢谢 电话号码是4600004722057501 添加1后,它变为4.600004722055E+15 $val = $list[0]->getNextNumber(); $list[0]->setNextNumber($val+1); 您可以尝试在代码中添加“(int)” $val

我有一个字符串编号,如下所示。当我给它加1时,它会变成一个科学的表示,而不是一个实数,并且不会增加到下一个数。为什么它不递增

我希望4600004722057511变成4600004722057512

谢谢

电话号码是4600004722057501 添加1后,它变为4.600004722055E+15

$val = $list[0]->getNextNumber();
$list[0]->setNextNumber($val+1);
您可以尝试在代码中添加“(int)”

$val=(int)$list[0]->getNextNumber();
$list[0]->setNextNumber($val+1);
试试这个:

    $val = (float)$list[0]->getNextNumber();
    $list[0]->setNextNumber($val+1);

将bcmath用于高数字

$val = $list[0]->getNextNumber();
$val = bcadd( $val, 1 ); // here you add 1 to a very high number
$list[0]->setNextNumber($val);

由于PHP将数字视为数字,所以这不会是一个问题,但如果您想在某处显示其值,请将其转换为字符串

$val = $list[0]->getNextNumber()+1;
$val = (string)$val
试试这个


如果不起作用,请显示完整代码(可能是函数代码中的问题)。

看起来像
$val
是一个浮点数。您的问题/代码表明您希望它是一个整数。我只希望它从4600004722057511变为4600004722057512请提取并提供一个。另外,作为这里的新用户,请阅读。也就是说,您可能遇到了PHP实现中整数的数值范围限制。您是否使用var_dumb()检查了返回此行$list[0]->getNextNumber()的数据类型,然后您就可以识别如何处理该值。var_dump($list[0]->getNextNumber())返回null(float)$list[0]->getNextNumber()返回4.600004722055e+15(float)$list[0]->getNextNumber()+1还返回4.600004722055e+15,因此+1永远不会增加它further@user3855851看看我的答案。
$val =$list[0]->getNextNumber();
$val=++$val;
$list[0]->setNextNumber($val);