ABS () ist eine PHP-integrierte Funktion, die wie folgt definiert ist:
int|float abs ( int|float $number )
Es akzeptiert eine Ganzzahl oder eine schwimmende Punktzahl als Argument, wodurch der absolute Wert dieser Zahl zurückgegeben wird.
Beispiel:
<?php
echo abs(-10); // Ausgabe 10
echo abs(5); // Ausgabe 5
echo abs(-3.14);// Ausgabe 3.14
?>
Die Funktion ABS () gilt nur für numerische Typen. Wenn Sie in einer Zeichenfolge, einem Array oder einem anderen Typ übergeben, wird eine Warnung oder Ausnahme hervorgerufen.
<?php
echo abs("abc"); // Warning: A non-numeric value encountered
echo abs([1, 2]); // Warning: A non-numeric value encountered
?>
Lösung: Verwenden Sie is_numeric (), um zu bestimmen, ob die Variable zuerst ein numerischer Wert ist, und vermeiden Sie einen Fehler beim Aufrufen von ABS () .
<?php
$value = "abc";
if (is_numeric($value)) {
echo abs($value);
} else {
echo "Die Eingabe ist keine Zahl";
}
?>
Bei Abs () -Prozizierungspunktzahlen kann die Genauigkeit aufgrund der Speichermethode der PHP -schwimmenden Punktzahlen verloren gehen.
<?php
echo abs(-0.000000000123456789);
?>
Der Ausgang kann leicht von den Erwartungen abweichen.
Lösung: Verwenden Sie die BCMATH-Erweiterung oder die String-Verarbeitung, um numerische Berechnungen mit hoher Präzision sicherzustellen.
In einigen Fällen behandelt PHP -0 als 0, was zu Verwirrung bei logischen Urteilen führt.
<?php
$val = -0;
var_dump(abs($val)); // Ausgabe int(0)
?>
Obwohl die Ausgabe von ABS (-0) mit der mathematischen Definition übereinstimmt, kann es erforderlich sein, einige besondere Szenarien zu unterscheiden.
Lösung: Dies ist normalerweise selten. Wenn das Unternehmen unterscheiden muss, können Sie nach Anzeichenfolge oder Typ nach Typ beurteilen.
<?php
$numbers = [-1, -2, 3, -4];
$absNumbers = array_map('abs', $numbers);
print_r($absNumbers);
?>
Ausgabe:
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
)
<?php
if (isset($_GET['num']) && is_numeric($_GET['num'])) {
$num = $_GET['num'];
echo "Der absolute Wert ist:" . abs($num);
} else {
echo "Bitte geben Sie gültige numerische Parameter an。";
}
?>
Beispiel für ein Link Beispiel:
http://gitbox.net/abs.php?num=-15