abs

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

abs绝对值

描述

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

返回 num 的绝对值。

参数

num

要处理的数值

返回值

num 的绝对值。如果参数 num 的类型为 float,则返回值类型也为 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)

参见

添加说明

用户贡献说明 1 个说明

eep2004 at ukr dot net
3 年前
<?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>';
?>
结果
PHP 7.1.33
0.0910
0.0710
0.0550

结论:最好先检查数字是否小于零,然后再使用此功能。最好使用乘以 -1,而不是此函数。
To Top