PHP 8.1.0 RC 2 available for testing

abs

(PHP 4, PHP 5, PHP 7, PHP 8)

absAbsolutwert bzw. Betrag

Beschreibung

abs(int|float $num): int|float

Gibt den Betrag des Wertes num ohne Vorzeichen zurück.

Parameter-Liste

num

Der zu bearbeitende Wert.

Rückgabewerte

Der Betrag des Wertes num. Ist num vom Typ float, so ist auch das Ergebnis von diesem Typ. Andernfalls wird das Ergebnis als int zurückgegeben (float hat normalerweise einen größeren Wertebereich als int).

Changelog

Version Beschreibung
8.0.0 num akzeptiert keine internen Objekte mehr, die eine numerische Konvertierung unterstützen.

Beispiele

Beispiel #1 abs()-Beispiel

<?php
echo abs(-4.2); // 4.2 (double/float)
echo abs(5);    // 5 (integer)
echo abs(-5);   // 5 (integer)
?>

Siehe auch

add a note add a note

User Contributed Notes 1 note

up
3
eep2004 at ukr dot net
6 months ago
<?php
echo 'PHP '.PHP_VERSION.'<br>';

$qty = 1000;
$arr = array();
for (
$i = 0; $i < $qty; $i++){
   
$arr[] = rand(-100, 100);
}

$start = microtime(true);
for (
$i = 0; $i < $qty; $i++){
    foreach (
$arr as $v){
       
$v = abs($v);
    }
}
echo
number_format(microtime(true) - $start, 4).'<br>';

$start = microtime(true);
for (
$i = 0; $i < $qty; $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 < $qty; $i++){
    foreach (
$arr as $v){
        if (
$v < 0) $v *= -1;
    }
}
echo
number_format(microtime(true) - $start, 4).'<br>';
?>
Result:
PHP 7.1.33
0.0910
0.0710
0.0550

Conclusion: better to check before using the feature that the number is less than zero. Even better use multiplication by -1 than this function.
To Top