abs

(PHP 4, PHP 5, PHP 7)

abs절대값

설명

number abs ( mixed `\$number` )

`number`의 절대값을 반환합니다.

`number`

처리할 수치 값

반환값

`number`의 절대값. `number` 인수의 자료형이 float일 경우, 반환값도 float이고, integer일 경우에도 마찬가지입니다. (일반적으로 float 값의 범위가 integer 값의 범위보다 큽니다)

예제

Example #1 abs() 예제

``` <?php\$abs = abs(-4.2); // \$abs = 4.2; (double/float)\$abs2 = abs(5);   // \$abs2 = 5; (integer)\$abs3 = abs(-5);  // \$abs3 = 5; (integer)?> ```

``` <?php\$arr = array();for (\$i = 0; \$i < 1000; \$i++) \$arr[] = rand(-100, 100);\$start = microtime(true);for (\$i = 0; \$i < 1000; \$i++){    foreach (\$arr as \$v) \$v = abs(\$v);}echo number_format(microtime(true) - \$start, 4).'<br />';\$start = microtime(true);for (\$i = 0; \$i < 1000; \$i++){    foreach (\$arr as \$v) if (\$v < 0) \$v = abs(\$v);}echo number_format(microtime(true) - \$start, 4).'<br />';\$start = microtime(true);for (\$i = 0; \$i < 1000; \$i++){    foreach (\$arr as \$v) if (\$v < 0) \$v *= -1;}echo number_format(microtime(true) - \$start, 4).'<br />';?>Result:1.40610.96970.2805Conclusion: better to check before using the feature that the number is less than zero. Even better use multiplication by -1 than this function. ```
``` [*EDIT* by danbrown AT php DOT net: Merged user's corrected code with previous post content.] jeremys indicated one thing - there is no sgn function wich actually seems a bit strange for me. Of course it is as simple as possible, but it is usefull and it is a standard math function needed occasionally. Well, I have solved this function in a bit different matter: <?php function sgn(\$liczba) {     if(\$liczba>0)         \$liczba=1;     else if(\$liczba<0)         \$liczba=-1;     else if(!is_numeric(\$liczba))         \$liczba=null;     else         \$liczba=0;     return \$liczba; } ?> The difference is that it returns null when the argument isn't a number at all. ```