加上两个巨大的字符串数字


plus two huge string number

PHP

$SCode=$_POST['SCode'];
$ECode=$_POST['ECode'];
for($p=$SCode;$p<($ECode - $SCode);$p++)
{
    $hugePluse1 =sprintf('%0.0f',$p+$SCode);
    $hugePluse2 = $p+$SCode ;
    echo  $hugePluse1.",".$hugePluse2."<br/>";
}

我运行这个

$_POST['SCode']='010100100101002084';
$_POST['ECode']='010100100101002087';

但这行不通。

$hugePluse 1 返回 ==>10100100101002084,101001001001002084,101001001001002086,101001001002088

$hugePluse 2 返回 ==>1.0100100101002E+16,1.0100100101002E+16,1.0100100101002E+16,1.0100100101002E+16

我想要010100100101002084010100100101002085010100100101002086

请帮助我

这是我为你做的一个函数。
它将对两个字符串求和并返回字符串。

function string_sum($a,$b,$base)
{
    $a=strrev($a);
    $b=strrev($b);
    $result="";
    $carry=0;
    for($i=0;$i<max(strlen($a),strlen($b));$i++)
    {
        $x=$y=0;
        if($i<strlen($a))
        {
            $x=substr($a,$i,1);
        }
        if($i<strlen($b))
        {
            $y=substr($b,$i,1);
        }
        $sum=$x+$y+$carry;
        $result=$sum%$base.$result;
        $carry= intval($sum/$base);
    }
    if($carry)
    {
        $result=$carry.$result;
    }
    return $result;
}

此函数采用 3 个参数。
前两个是字符串数,第三个是基数,10 表示十进制数如果你称之为

string_sum('010100100101002084',1,10);

它会返回

'010100100101002085'

希望你能理解。