2014-02-20 53 views
1

这里是我的欧几里德方程的furmula实现。在PHP中应用欧几里得距离公式

$i = 0; 
    $min = 0; 

    while ($row = @mysqli_fetch_array($result)) 

    { 

     $pcount = $row['pcount']; 

     $ncount = $row['ncount']; 

     echo "pcount is $pcount<br/>"; 

     echo "ncount is $ncount<br/></br>"; 
     $a[$i] = $pcoutn ; 
     $b[$i] = $pcoutn ; 
     while ($row = @mysqli_fetch_array($result)) 

     { 

      $a[$j] = $row['pcount']; 
      $b[$j] = $row['ncount']; 
      $diff = sqrt(($a[$i] - $a[$j])^2 + ($b[$i] - $b[$j])^2) 
      $j= $j + 1; 
      echo "$diff <br>"; 
     }    
     $i = $i + 1;   


    } 

什么是语法错误?

错误是:Parse error: syntax error, unexpected '$j' (T_VARIABLE)

+3

你缺少后'$ DIFF =开方分号(($ A [$ I ] - $ a [$ j])^ 2 +($ b [$ i] - $ b [$ j])^ 2)' –

+1

'^'是['xor'](http://www.php .net/manual/language.operators.bitwise.php)运算符。所以即使没有语法错误,你的endresult也会出错。改用['pow'](http://php.net/manual/function.pow.php)。 – Yoshi

回答

1

你就行跳过;

$diff = sqrt(($a[$i] - $a[$j])^2 + ($b[$i] - $b[$j])^2) 

使用

$diff = sqrt(($a[$i] - $a[$j])^2 + ($b[$i] - $b[$j])^2);