Ошибка анализа: синтаксическая ошибка, неожиданный '*'

Мой код:

<?php

    function ci($principle, $rate, $time) {

        $ci = ($principle * (( (1 + $rate / 100) ** $time) - 1));
        echo $ci;

    }

?>
<?php
    echo ci(10,10,10);
?>

И когда я запускаю его, он дает следующую ошибку

Ошибка анализа: синтаксическая ошибка, неожиданное "*" в D:\Xampp\htdocs\php\functions.php в строке 4

Скажите, пожалуйста, какая ошибка в строке 4 ($ci = ($principle * (((1+$rate/100)**$time)-1));)?

Ответы

Ответ 1

Ваш синтаксис как есть, правильный. Проблема заключается в вашей версии PHP. Оператор ** был представлен в PHP 5.6, и у вас, вероятно, есть что-то ниже.

Так что либо обновите свой PHP, либо используйте pow().

Ответ 2

OP имел дополнительный * над

(1 + $rate / 100) ** $time)

что приводит к ошибке синтаксиса PHP Неожиданный * в PHP verison < 5.6.0 и отлично работает для более высоких версий

function ci($principle, $rate, $time) {
    $ci = ($principle * (((1 + $rate / 100) * $time) - 1));
                                         //^^ removed extra *
    echo $ci;
}

ci(10, 10, 10);

Демо