<?php
function compute($a, $b) {
if($b > $a) {
$c = $a;
$a = $b;
$b = $c;
}
$s = str_split($a);
$s2 = str_split($b);
$r = 0;
$lr = 0;
$temp = 0;
$value = "";
$j = count($s2) - 1;
for($i = (count($s) - 1); $i >= 0; $i--) {
if($j >= 0) {
$temp = $s[$i] + $s2[$j] + $lr;
if($temp > 9) {
$value .= substr($temp, -1);
$lr = substr($temp, 0, -1);
$r++;
}
else {
$value .= $temp;
}
$j--;
}
else {
$temp = $s[$i] + $lr;
if($temp > 9) {
$value .= substr($temp, -1);
$lr = substr($temp, 0, -1);
$r++;
}
else {
$value .= $temp;
}
}
}
if($lr != 0) { $value .= $lr; if($r > 1) {  --$r; } }
return "The sum of ".$a." and ".$b." is ".strrev($value)." and the carry out used to obtain this result is ".$r."\n";
}
echo compute(999, 1);
echo compute(1, 999);
echo compute(700, 9);
echo compute(987654321, 123456789);
echo compute(9, 9);
echo compute(9, 7);
echo compute(9, 1);
echo compute(20, 20);
?>