PHP 7.2.7 Released

# abs

(PHP 4, PHP 5)

absValore assoluto

### Descrizione

number abs ( mixed `\$numero` )

Restituisce il valore assoluto di un numero. Se l'argomento della funzione è di tipo float, il valore restituito è float, altrimenti restituisce un integer (perché float di solito ha un range di valori più grande di integer).

Example #1 Esempio di 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

20
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. ```
-54
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. ```
-94
svein dot tjonndal at gmail dot com
7 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. ```