In PHP ist die Funktion is_nan () ein sehr nützliches Instrument, um zu überprüfen, ob ein Wert "nicht numerisch" (NAN) ist. NAN ist die Abkürzung für "nicht eine Zahl", was bedeutet, dass das Ergebnis einiger mathematischer Operationen ungültig oder nicht dargelegt ist. Nan als besonderer Wert tritt normalerweise während der schwimmenden Operationen auf, z.
In diesem Artikel wird die grundlegende Verwendung der Funktion is_nan () untersucht und diskutiert, wie sie verwendet werden, um häufige Fallstricke in numerischen Vergleiche zu vermeiden.
NAN ist ein besonderer Wert in der schwimmenden Operation, was darauf hinweist, dass es sich nicht um eine gültige Zahl handelt. In JavaScript, Python und PHP stellt NAN einen Wert dar, der nicht als gültig ausgedrückt werden kann.
Zum Beispiel:
$number = 0 / 0; // sich herausstellen NaN
In diesem Beispiel ist die durch Null geteilte Operation eine ungültige mathematische Operation, sodass die $ -Nummer NAN ist.
PHP liefert die Funktion is_nan (), um zu überprüfen, ob ein Wert NAN ist. Seine Syntax ist wie folgt:
is_nan(mixed $var): bool
$ var : Variablen zu erkennen.
Rückgabewert: Return True Wenn die Variable Nan ist, ansonsten falsch .
$val1 = 0 / 0; // NaN
$val2 = 10; // Nummer
echo is_nan($val1) ? "Ja NaN" : "不Ja NaN"; // Ausgabe:Ja NaN
echo is_nan($val2) ? "Ja NaN" : "不Ja NaN"; // Ausgabe:不Ja NaN
In diesem Beispiel ist $ val1 Nan und $ Val2 ist ein gültiger numerischer Wert.
Nan ist keinem Wert gleich (einschließlich sich selbst). Wenn Sie == oder === direkt verwenden, um zu vergleichen, ob eine Variable NAN ist, kann das Ergebnis verwirrend sein. Betrachten Sie den folgenden Code:
$val1 = 0 / 0; // NaN
if ($val1 == $val1) {
echo "Werte gleich";
} else {
echo "Ist der Wert gleich"; // Ausgabe:Ist der Wert gleich
}
Auch wenn Sie die gleiche Variable vergleichen, ist das Ergebnis immer noch falsch, da Nan niemals NAN entspricht.
Um dieses Vergleichsproblem zu vermeiden, ist die Funktion is_nan () ein sehr effektives Werkzeug. Mit is_nan () können Sie direkt erkennen, ob die Variable Nan ist, ohne sich um den Missbrauch von == oder === zu sorgen.
$val1 = 0 / 0; // NaN
if (is_nan($val1)) {
echo "这Ja一个 NaN Wert"; // Ausgabe:这Ja一个 NaN Wert
}
Diese Methode kann Ihnen helfen, NAN -Werte klarer und genauer zu verarbeiten.
In vielen Webanwendungen können Benutzer Formulare, die nicht numerische Daten enthalten, einreichen, was zu Fehlern im numerischen Vergleich des Hintergrunds führt. Die Verwendung der Funktion is_nan () kann solche Probleme effektiv vermeiden.
Angenommen, wir haben ein einfaches Formular, in dem der Benutzer einen numerischen Wert einreicht und wir überprüfen müssen, ob es sich um eine gültige Nummer handelt:
if (isset($_POST['submit'])) {
$value = $_POST['number'];
// 检查Ja否为有效的数Wert
if (is_nan($value)) {
echo "Ungültige Eingabe,请输入一个有效的Nummer。";
} else {
echo "输入的NummerJa:$value";
}
}
In diesem Beispiel kann IS_NAN () verhindern, dass ungültige Eingaben weiter verarbeitet werden, um sicherzustellen, dass unsere Anwendung beim Vergleich der numerischen Werte nicht durch NAN abstürzt.
In der tatsächlichen Entwicklung müssen wir möglicherweise auch die NAN in Logik im Zusammenhang mit URL -Adressen beurteilen. Angenommen, es gibt eine PHP -Anwendung, bei der der Benutzer einen URL -Parameter über eine GET -Anforderung einreicht. Wir müssen überprüfen, ob die URL ein gültiger numerischer Wert ist (z. B. eine ID oder einen Betrag). Wenn kein gültiger Wert übergeben wird, können wir NAN- oder Ausreißer behandeln.
Hier ist ein Beispiel:
// Angenommen, wir erhalten URL 参数Ja某个计算的结果
$url = "https://gitbox.net/calculation?value=" . $_GET['value'];
$value = $_GET['value'];
if (is_nan($value)) {
echo "URL 中传递的Wert不Ja有效Nummer,Bitte überprüfen Sie den Link:$url";
} else {
echo "URL 中传递的NummerJa有效的:$value";
}
In diesem Beispiel stellen wir sicher, dass es einen gültigen Wert enthält, indem der URL -Parameter erfasst wird. Wenn NAN erkannt wird, erinnern wir den Benutzer daran, den Link zu überprüfen.
is_nan () ist eine sehr nützliche PHP -Funktion, die uns helfen kann, viele häufige Fallstricke zu vermeiden, denen wir beim Umgang mit numerischen Werten begegnen. Durch die korrekte Verwendung von is_nan () können wir NAN -Werte effektiv vermeiden, unsere Programmlogik zu stören, wodurch unser Code robuster und einfacher wird.
Wenn Sie numerische Werte vergleichen, denken Sie daran , is_nan () zu verwenden, um die Gültigkeit der Variablen zu bestätigen, anstatt == oder === zum Vergleich direkt zu verwenden.