abs()是PHP內置的數學函數之一,用於返回一個數的。絕對值指的是一個數到0的距離,因此不管原始數字是正數還是負數,結果總是非負的。
abs(float|int $num): float|int
$num :要處理的數字,類型可以是整數或浮點數。
返回輸入值的絕對值。若輸入為正數或零,則原樣返回;若為負數,則返回其正數形式。
<?php
echo abs(-10); // 輸出:10
?>
<?php
echo abs(-3.1416); // 輸出:3.1416
?>
<?php
echo abs(5); // 輸出:5
echo abs(0); // 輸出:0
?>
<?php
$scoreA = 85;
$scoreB = 92;
$difference = abs($scoreA - $scoreB);
echo "分數差異為:" . $difference; // 輸出:7
?>
<?php
$current = 50;
$previous = 75;
$change = abs($current - $previous);
echo "變動幅度為:" . $change . " 單位";
?>
在一些業務邏輯中,可能需要判斷某值的絕對差是否超過某個閾值:
<?php
$threshold = 10;
$diff = abs($a - $b);
if ($diff > $threshold) {
echo "差異過大";
}
?>
在實際項目中,如接口返回兩個數值,前端需要展示其差值而不考慮正負號,可以這樣處理:
<?php
// 假設這是接口返回的數據
$data = json_decode(file_get_contents('https://gitbox.net/api/data.json'), true);
$val1 = $data['value1'];
$val2 = $data['value2'];
$diff = abs($val1 - $val2);
echo "數據差值為:" . $diff;
?>
abs()函數不會改變變量的原始值,只會返回一個新的絕對值。
如果傳入非數值類型,PHP會嘗試進行類型轉換;建議在調用前手動確認數據類型,以避免不必要的警告或錯誤。
在處理大數值或浮點運算時,要注意精度問題,可能需要結合round() 、 number_format()等函數使用。