Die Funktion ABS () gibt den Absolutwert einer Zahl zurück. Unabhängig davon, ob die in eingabendete Zahl eine positive, negative oder schwimmende Punktzahl ist, ist das zurückgegebene Ergebnis eine nicht negative Zahl.
<?php
echo abs(-5); // Ausgabe 5
echo abs(3.14); // Ausgabe 3.14
?>
Diese Funktion ist sehr nützlich, wenn es notwendig ist, mit Distanz, Differenz oder Fehler umzugehen, da der absolute Wert positive und negative Richtungen ignoriert und sich nur um die numerische Größe kümmert.
Die min () -Funktion wird verwendet, um den kleinsten Wert aus einer Reihe von Zahlen zu finden. Es kann eine beliebige Anzahl von Parametern oder ein Array als Eingabe empfangen.
<?php
echo min(4, 7, 1, 9); // Ausgabe 1
echo min([10, 2, 8, 6]); // Ausgabe 2
?>
Diese Funktion vereinfacht die Codelogik, wenn es erforderlich ist, mehrere Werte zu vergleichen, um den Mindestwert zu erhalten.
Die Verwendung von ABS () und min () in Kombination wird normalerweise verwendet, um mit dem Vergleich von Entfernung oder Fehlern umzugehen. Wenn Sie beispielsweise die Zahl finden möchten, die einem Referenzwert zwischen mehreren Zahlen am nächsten liegt, können wir zunächst den absoluten Abstand zwischen jeder Zahl und dem Referenzwert berechnen und dann die Funktion min () verwenden, um den Mindestabstand zu bestimmen.
<?php
$base = 10;
$numbers = [7, 14, 20, 9, 11];
// Berechnen Sie den absoluten Abstand zwischen jeder Zahl und dem Referenzwert
$distances = array_map(function($num) use ($base) {
return abs($num - $base);
}, $numbers);
// Finden Sie den Mindestabstand
$minDistance = min($distances);
// Finden Sie die nächstgelegene Zahl zum Referenzwert
foreach ($numbers as $num) {
if (abs($num - $base) == $minDistance) {
echo "Am nächsten an der Grundlinie {$base} Die Zahl ist:{$num}";
break;
}
}
?>
Im obigen Code verwenden wir ABS () , um den Abstand vom Referenzwert zu berechnen, dann min () , um den Mindestabstand zu ermitteln und schließlich die Anzahl der dem Referenzwert am nächsten zu bestimmen.
Wenn Sie den Abstand zwischen mehreren Koordinatenpunkten und Zielpunkten vergleichen müssen, verwenden Sie normalerweise ABS (), um den absoluten Wert der Differenz zu berechnen und dann min (), um den kürzesten Abstand zu finden, der für eindimensionale Szenen geeignet ist.
Wenn Sie während der Datenverarbeitung einen bestimmten Wert einschränken möchten, um den angegebenen Schwellenwert nicht zu überschreiten, können Sie ABS () verwenden, um die Abweichung zu berechnen, und dann den kleinsten Fehlerwert durch min () auszuwählen, um die Bereichsbeschränkung zu erreichen.
Bei numerischen Berechnungen und experimentellen Datenanalysen ist es häufig erforderlich, den gemessenen Wert mit dem kleinsten Fehler zu finden. Verwenden Sie zuerst ABS (), um den Absolutwert des Fehlers zu ermitteln, und verwenden Sie dann min (), um den Mindestfehler zu bestimmen.
Durch die Berechnung der absoluten Lücke jedes Elements und mit min () , um das optimale Element schnell zu finden und komplexe Filterlogik mit anderen Funktionen zu implementieren.
Basierend auf der obigen Einführung können Sie feststellen, dass die Funktionen von ABS () und min () sehr flexibel sind, wodurch der Code vereinfacht wird, um verschiedene gemeinsame Vergleichs- und Einschränkungsvorgänge zu implementieren. Bei der täglichen PHP -Entwicklung kann das Üben der koordinierten Nutzung dieser beiden Funktionen die Qualität und Effizienz der Code effektiv verbessern.
<?php
// Umfassende Beispiele:Finden Sie alle Elemente im Array, die dem Zielwert am nächsten stehen
$target = 50;
$arr = [48, 52, 47, 51, 49, 53];
// Berechnen Sie das Abstandsarray
$distances = array_map(fn($v) => abs($v - $target), $arr);
// Finden Sie den Mindestabstand
$minDist = min($distances);
// Filtern Sie alle Elemente heraus, deren Entfernung gleich dem Mindestabstand ist
$closest = array_filter($arr, fn($v) => abs($v - $target) === $minDist);
print_r($closest);
?>
Auf diese Weise können Sie nicht nur das Element finden, das dem Zielwert am nächsten ist, sondern auch mit mehreren Situationen derselben Entfernung umgehen.