Parse error: syntax error, unexpected '*'

2019-09-25 06:07发布

问题:

This question already has an answer here:

  • PHP parse/syntax errors; and how to solve them? 17 answers

My code:

<?php

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

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

    }

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

And when I am running it, it gives the following error

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

Please tell me what's the error in line 4 ($ci = ($principle * (((1+$rate/100)**$time)-1));) ?

回答1:

Your syntax as it is, is correct. The problem is your PHP version. The ** operator was introduced in PHP 5.6 and you probably have something below.

So either update your PHP or use pow().



回答2:

OP had an extra * over

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

which results into PHP syntax error Unexpected * within PHP verison < 5.6.0 and works fine for the higher versions

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

ci(10, 10, 10);

Demo