Example - Ideone
$parcelas=11;
$segredo = (1 + $parcelas) * ($parcelas / 2);
$valor="R$ 1900,30";
//replace para retirar R$ e trim para retirar espaço
$preco=trim(str_replace("R$","",$valor));
//armazenando virgula centavos
$decimal= substr($preco,(strlen($preco)-3),strlen($preco));
//retirando virgula centavos
$preco=(str_replace($decimal,"",$preco));
//calculando valores das parcelas
for ($x = 1; $x <= ($parcelas-1); $x++) {
$parcela = intval((($preco*$x)/$segredo));
echo ("R$ ". number_format($parcela, 2, ',', '.'))."<br>";
$somatorio=$somatorio+$parcela;
}
//calculo da ultima parcela
$ultima=$preco-$somatorio;
echo ("R$ ".($ultima.$decimal));
Want to know what the $segredo
variable is? mouse over the area below.
The variable $segredo
is the sum of the numbers from 1 to the number of parcels. Generalizing, sum of n first natural numbers.
DOCUMENTATION