function addOne($lgNumStr) { $lgNumArr = str_split($lgNumStr); $lastIndex = count($lgNumArr) - 1; if ($lgNumArr[$lastIndex] < 9) { $lgNumArr[$lastIndex]++; $lgNumArr[$lastIndex] = (string) $lgNumArr[$lastIndex]; $added = implode('', $lgNumArr); return $added; } else { $indexFirstNonNine = getFirstNonNineIndex($lastIndex, $lgNumArr); $lgNumArr[$indexFirstNonNine]++; $lgNumArr[$indexFirstNonNine] = (string) $lgNumArr[$indexFirstNonNine]; for ($i = $indexFirstNonNine + 1; $i <= $lastIndex; $i++) { $lgNumArr[$i] = '0'; } $added = implode('', $lgNumArr); return $added; } }
function stringAddTwo($num) { //get index location of last item in string $lastNum = strlen($num) - 1; $finalNum = ""; //turn string into array $num = str_split($num); //if the last number is less than nine then simply add 1 and you're done if ($num[$lastNum] < 9) { $num[$lastNum]++; foreach ($num as $digit) { $finalNum .= $digit; return $finalNum; } //else } else { $indexFirstNonNine = getFirstNonNineIndex($num); $num[$indexFirstNonNine]++; for ($i = $indexFirstNonNine + 1; $i < count($num); $i++) { $num[$i] = "0"; } foreach ($num as $digit) { $finalNum .= $digit; return $finalNum; } } }