abs

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

abs绝对值

说明

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

返回参数 num 的绝对值。

参数

num

要处理的数字值

返回值

num 的绝对值。 如果参数 numfloat,则返回的类型也是 float,否则返回 int(因为 float 通常比 int 有更大的取值范围)。

更新日志

版本 说明
8.0.0 num 不再接受支持数字转换的内部对象。

示例

示例 #1 abs() 示例

<?php
var_dump
(abs(-4.2));
var_dump(abs(5));
var_dump(abs(-5));
?>

以上示例会输出:

float(4.2)
int(5)
int(5)

参见

add a note add a note

User Contributed Notes 1 note

up
5
eep2004 at ukr dot net
3 years 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