<?php

error_reporting(-1);

function calc($creditBalance, $monthlyPayment, $percent, $servicePayment, $paymentTotal) {
	for ($month = 1; $month <= 20; $month ++) { /*Общий цикл с подсчётом расходов*/
 
	$debt = ($creditBalance * $percent) + $servicePayment; /*Долг, который отличается от изначальной суммы (КредитБаланс)*/
 
	if ($debt <= $monthlyPayment) { /*Если долг меньше суммы месячной выплаты или равен ей*/
 
		$creditBalance = 0; 
		$paymentTotal = $paymentTotal + $debt;
            echo "{$month} месяц(-ев) до {$creditBalance} руб. Должно быть выплачено всего {$paymentTotal} руб.\n";
            break;
    } else { /*Если долг остаётся больше суммы месячной выплаты*/
 
		$creditBalance = ($creditBalance * $percent) + $servicePayment - $monthlyPayment;
		$paymentTotal = $paymentTotal + $monthlyPayment;
			
		}
	}
}

$creditBalance = 40000;
$monthlyPayment = 5000;
$homoCreditTotal = calc($creditBalance, $monthlyPayment, 1.04, 500, 0);
$softBankTotal = calc($creditBalance, $monthlyPayment, 1.03, 1000, 0);
$strawberryBankTotal = calc($creditBalance + 7777, $monthlyPayment, 1.02, 1000, 0);

echo "{$homoCreditTotal} \n";
echo "{$softBankTotal} \n";
echo "{$strawberryBankTotal} \n";

?>