2015-10-02 3 views
-2

Мой код:Анализировать ошибка: синтаксическая ошибка, неожиданный «*»

<?php 

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

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

    } 

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

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

Parse error: syntax error, unexpected '*' in D:\Xampp\htdocs\php\functions.php on line 4

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

+0

Это намеренно с двойным '*' in ') ** $ time)'? – Epodax

+0

Это глобальная проблема, поднятая вами как политическое средство, так как «PHP» специально не дает правильного ответа на вас. Как задать вопрос на SO – DevLakshman

+0

FYI: вы ничего не возвращаете в своей функции, поэтому эхо-вызов для возвращаемое значение не требуется. – Rizier123

ответ

3

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

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

+0

Вы всегда избивали меня одним +1 –

+0

Спасибо за ваш ответ. –

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); 

Demo

+0

Можете ли вы подробнее рассказать о своем ответе? – Amarnasan

+0

Обновленный ответ @Amarnasan –