Php, вычисление показателя с морковью (^) не выполняется

Вольфрам Альфа говорит, что даст правильный результат по следующей формуле:

((0.0004954*($current^2))-((0.935*$current)+378.486))- ((0.0004954*($desired^2))-((0.935*$desired)+378.486)); 

Но когда я запускаю его в PHP, он не дает правильного ответа, почему бы и нет?

 $current = mysql_escape_string($_POST['current']); $desired = mysql_escape_string($_POST['desired']); $username = mysql_escape_string($_POST['username']); $password = mysql_escape_string($_POST['password']); $email = mysql_escape_string($_POST['email']); $ip = $_SERVER["REMOTE_ADDR"]; $time = time(); $elo = $desired - $current; if($current < 1200) { $price = ($elo/100)*30; } elseif($current < 1400) { $price = ($elo/100)*35; } elseif($current < 1901) { $price = ((0.0004954*($current^2))-((0.935*$current)+378.486))-((0.0004954*($desired^2))-((0.935*$desired)+378.486)); } 

Оператор ^ является поразрядным оператором.

Вам нужно использовать pow .

Если вы просто хотите, чтобы квадрат значения, вы можете просто несколько его по себе, $current * $current .

Вам нужно использовать функцию pow($number, $exponent) .

В PHP, ^ не означает экспонента .

$price = ((0.0004954*(pow($current, 2)))-((0.935*$current)+378.486))-((0.0004954* (pow($desired, 2)))-((0.935*$desired)+378.486));

^ является побитовым оператором XOR

Вы можете использовать pow, как указано Supericy, но вы также можете просто использовать оператор ** для сокращения.