为什么这个PHP函数返回错误的结果?

Mel*_*Mel 2 php

我写了一个用户函数来返回x,y坐标系上两点之间的距离.输入参数是0,0,10,10.

这是原始代码:

public static function dist2d($x1,$y1,$x2,$y2) {
   return sqrt((($x2 - $x1) * ($x2 - $x1)) + (($y2 - $y1) * ($y2 - $y1)));
}
Run Code Online (Sandbox Code Playgroud)

这返回110.

这是有效的代码:

public static function dist2d($x1,$y1,$x2,$y2) {
    $result = (($x2 - $x1) * ($x2 - $x1)) + (($y2 - $y1) * ($y2 - $y1));
    return sqrt($result);
}
Run Code Online (Sandbox Code Playgroud)

这回来了14.1.

我是PHP的新手,这里发生了什么?

Dan*_*man 6

这两个函数都返回14.142135623731.

  • 那么你的代码与上面的代码不一样.如果在第一个函数中删除整个表达式周围的一组括号,则会得到110.但不是这样(正确). (3认同)