2013-01-17 3 views
5

볼프람 알파는 다음과 같은 공식에 대한 정확한 결과를 줄 것이다 말한다 실패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)); 
} 

답변

11

^ 연산자는 bitwise 연산자이다.

pow을 사용해야합니다.

그냥 값을 제곱하려면 그 자체로 여러 개를 쓸 수 있습니다 ($current * $current).

6

pow($number, $exponent) 기능을 사용해야합니다.

PHP의 경우 ^doesn't mean an exponent.

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

0

^은 Supericy에서 언급 한 바와 같이 당신은 펑를 사용할 수있는 배타적 비트 연산자

입니다,하지만 당신은 단지 속기에 대한 ** 연산자를 사용할 수 있습니다.

관련 문제