# abs

(PHP 4, PHP 5)

absمقدار قدر مطلق

### Description

number abs ( mixed \$number )

بازگرداندن قدر مطلق number.

### Parameters

number

مقدار عددی برای پردازش

### Return Values

قدر مطلق number. اگر آرگومان number از نوع float باشد نوع بازگشتی نیز float است در غیراین صورت integer (همانند float معمولا بازه مقدار بیشتری نسبت به integer دارد).

### Examples

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)?> ```

### User Contributed Notes 3 notes

21
eep2004 at ukr dot net
1 year ago
``` <?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. ```
-53
Ister
9 years ago
``` [*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. ```
-93
svein dot tjonndal at gmail dot com
6 years ago
``` If you don't have/want GMP and are working with large numbers/currencies: <?php function mb_abs(\$number) {   return str_replace('-','',\$number); } ?> No need to worry about encoding, as your numbers should all be basic (ANSI) strings. ```