PHP 递归地将百分比应用于金额的函数

PHP function to recursively apply a percentage to an amount

所以我正在尝试创建一个函数,它接受金额、百分比(小数)和时间,并且 returns 是金额的两倍。

我期望的结果如下:

$amount = 10000
$percentage = 1.1
$times = 1

所以..

elevateToPercentage($amount, $percentage, $times) = 10,000 * 1.1 = 11,000
$times = 2
elevateToPercentage($amount, $percentage, $times) = ((10,000 * 1.1) * 1.1) = 12,100
$times = 4
elevateToPercentage($amount, $percentage, $times) = ((((10,000 * 1.1) * 1.1) * 1.1) * 1.1) = 14,641

private function elevateToPercentage($amount, $percentage, $times) {
    $count  = 0;
    for( $a = 0; $a <= $times; $a++ ) {
        $count += ($amount * $percentage);
    }
    return $count;
}

我知道这是一个逻辑错误,但我睡得太多了,现在似乎不再工作了:( 你们能帮帮我吗?

谢谢!

可以使用pow函数实现

function elevateToPercentage($amount, $percentage, $times) {
    $multiple = pow($percentage, $times);
    return number_format($amount*$multiple) ;
}
$amount = 10000;
$percentage = 1.1;
$times = 1;
echo elevateToPercentage($amount, $percentage, $times);

输出:

$times = 1; 11,000
$times = 2;  12,100
$times = 4; 14,641

怎么样:

function elevateToPercentage($amount, $percentage, $times) {
    if ($times == 1){
        return $amount * $percentage;
    }else{
        return $percentage * elevateToPercentage($amount, $percentage, $times -1);
    }
}