PHP 8.1.0 Beta 1 available for testing

# 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`

Длина второй стороны

### Возвращаемые значения

Вычисленная длина гипотенузы add a note

### User Contributed Notes 2 notes

-7
Hayley Watson
3 years ago
``` 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);}?> ```
-19
robinv at ecosse dot net
17 years ago
``` 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.?> ``` 