PHP 8.1.24 Released!

# hypot

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

hypot 计算直角三角形的斜边长度

### 说明

hypot(float `\$x`, float `\$y`): float

hypot() 函数将会根据直角三角形的两直角边长度 `x``y` 计算其斜边的长度。或者是坐标点 （`x`, `y`）到原点的距离。该函数的算法等同于 `sqrt(\$x*\$x + \$y*\$y)`

`x`

`y`

### 返回值

`If you need a higher-dimensional diagonal length (norm), you can exploit the fact that sqrt(x*x+y*y+z*z) == sqrt(x*x+sqrt(y*y+z*z)). In other words hypot(x, y, z)==hypot(x, hypot(y, z)).To be generic about it....<?phpfunction norm(...\$args){ return array_reduce(\$args, 'hypot', 0);}?>`
`A simpler approach would be to allow an arbitrary number of parameters. That would allow for whatever number of dimensions you want *and* it would be backwards compatible with the current implementation.<?phpfunction hypo() { \$sum = 0; foreach (func_get_args() as \$dimension) { if (!is_numeric(\$dimension)) return -1; \$sum += pow(\$dimension, 2); } return sqrt(\$sum);}print hypo(); // vector in 0 dimensions, magnitude = 0.print hypo(1); // vector in 1 dimension, magnitude = 1.print hypo(3, 4); // vector in 2 dimensions, magnitude = 5.print hypo(2, 3, 6); // vector in 3 dimensions, magnitude = 7.?>` 