PHP大整数求和-arr
封装一个函数,实现以下两个大整数求和:
123212234563221223947783932 + 123212234563221223947783932 = ?
<?php
$str1='123212234563221223947783932';
$str2='123212234563221223947783932';
echo number_add($str1,$str2);
function number_add($str1,$str2){
$arr1=array_reverse(str_split($str1));//将数值格式化为数组,并逆向排序
$arr2=array_reverse(str_split($str2));
$len1=count($arr1);
$len2=count($arr2);
$count=$len1>$len2 ? $len1 : $len2;//取出最大数的长度
$arr=array();//用于存储临时排序数组
$flag=0;
for($i=0;$i<$count;$i++){
$arr[$i]=$arr1[$i]+$arr2[$i]+$flag;
if($arr[$i]>=10){
$flag=1;
}else{
$flag=0;
}
$arr[$i]=$arr[$i]%10;
}
$array=array_reverse($arr);
$str=implode('',$array);
return $str;
}
?>