Aktueller Standort: Startseite> Neueste Artikel> Der Unterschied zwischen PHP IS_NAN und IS_FINITE -Funktionen und Anwendungsszenarien

Der Unterschied zwischen PHP IS_NAN und IS_FINITE -Funktionen und Anwendungsszenarien

gitbox 2025-05-27

In PHP sind is_nan () und is_finite () zwei häufig verwendete numerische Erkennungsfunktionen, die verwendet werden, um zu bestimmen, ob eine Variable ein nicht numerischer (NAN) ist oder ob ein numerischer Wert endlich ist. Obwohl sie ähnlich aussehen, haben sie unterschiedliche Verwendungen und anwendbare Szenarien. In diesem Artikel werden die Unterschiede zwischen diesen beiden Funktionen und ihren jeweiligen Anwendungsszenarien ausführlich erörtert.

1. Einführung in die Funktion is_nan ()

Die Funktion is_nan () wird verwendet, um festzustellen, ob ein Wert ein "nicht numerischer" (NAN, nicht-a-number) ist. In Mathematik und Informatik ist NAN ein besonderer schwebender Wert, der normalerweise ein Ergebnis darstellt, das nicht als numerischer Wert ausgedrückt werden kann. Wenn beispielsweise 0 durch 0 geteilt wird oder die Quadratwurzel einer negativen Zahl berechnet wird, wird NAN generiert.

Verwendung

 is_nan(mixed $var): bool
  • Parameter : $ var kann jede Art von Variable sein.

  • Rückgabewert : Wenn $ var nan ist, gibt die Funktion true zurück, sonst falsch .

Beispiel

 $number1 = sqrt(-1); // Berechnen Sie die Quadratwurzel einer negativen Zahl,Das Ergebnis istNaN
$number2 = 10 / 0; // Das Ergebnis istINF,Das Große

var_dump(is_nan($number1)); // Ausgabe:bool(true)
var_dump(is_nan($number2)); // Ausgabe:bool(false)

Anwendbare Szenarien

is_nan () ist sehr geeignet für Szenarien, in denen ungültige Ergebnisse in Berechnungen erscheinen, insbesondere wenn es schwimmende Punktvorgänge beteiligt sind. Zum Beispiel:

  • Vermeiden Sie bei mathematischen Berechnungen ungültige Ergebnisse, die durch Operationen wie Teilen durch Null- oder negative Zahlen verursacht werden.

  • In den Bereichen wissenschaftlicher Computer, Bildverarbeitung usw., ob es illegale Ergebnisse gibt.

2. Einführung in die Funktion is_finite ()

Die Funktion is_finite () wird verwendet, um zu prüfen, ob eine Zahl ein endlicher Wert ist. Es prüft, ob die angegebene Zahl ein endlicher Wert ist, kann nicht unendlich (INF) oder NAN sein.

Verwendung

 is_finite(mixed $var): bool
  • Parameter : $ var kann jede Art von Variable sein.

  • Rückgabewert : Wenn $ var ein endlicher Wert ist, gibt die Funktion true zurück, sonst falsch .

Beispiel

 $number1 = 10 / 2; // Das Ergebnis ist5
$number2 = 10 / 0; // Das Ergebnis istINF
$number3 = sqrt(-1); // Das Ergebnis istNaN

var_dump(is_finite($number1)); // Ausgabe:bool(true)
var_dump(is_finite($number2)); // Ausgabe:bool(false)
var_dump(is_finite($number3)); // Ausgabe:bool(false)

Anwendbare Szenarien

is_finite () ist sehr geeignet, um festzustellen, ob eine Variable eine endliche Zahl ist, insbesondere in den Bereichen wissenschaftlicher Computer, Finanzanwendungen usw. Es kann verwendet werden, um festzustellen, ob das Berechnungsergebnis gültig ist, und das durch Infinity (INF) oder NAN verursachte abnormales Programmverhalten zu vermeiden.

3. Der Unterschied zwischen is_nan () und is_finite ()

  1. Verschiedene Urteilsobjekte :

    • is_nan () prüft nur, ob es sich um Nan handelt.

    • is_finite () prüft, ob es sich um einen endlichen Wert handelt. Es gibt False zurück, wenn es sich um Nan oder Infinity (INF) handelt.

  2. Verschiedene Szenarien gelten :

    • is_nan () ist geeignet, um zu überprüfen, ob es ungültige numerische Berechnungen gibt, z. B. 0 geteilt durch 0.

    • is_finite () ist geeignet, um zu überprüfen, ob der Wert begrenzt ist, und das Vermeiden von Unendlichkeit oder NAN, die die Programmlogik beeinflussen.

  3. Das Rückgabeergebnis ist anders :

    • is_nan () gibt true nur dann zurück, wenn die Variable NAN ist.

    • is_finite () gibt falsch nicht nur NAN, sondern auch INF (Infinity) zurück.

Beispielvergleich

 $value1 = 0 / 0; // NaN
$value2 = 10 / 0; // INF

echo is_nan($value1); // true
echo is_nan($value2); // false

echo is_finite($value1); // false
echo is_finite($value2); // false

4. Zusammenfassung

  • Die Funktion is_nan () wird verwendet, um festzustellen, ob eine Variable NAN (nicht numerisch) ist, und eignet sich zur Überprüfung ungültiger numerischer Berechnungen.

  • Die Funktion is_finite () wird verwendet, um zu prüfen, ob eine Zahl endlich ist und zur Beurteilung geeignet ist, ob der Wert gültig ist, und eine Störung von Infinity oder NAN zu vermeiden.

In der tatsächlichen Entwicklung hängt die Auswahl der Verwendung, welche Funktion zu verwenden ist, von der Art des numerischen Werts ab, den Sie überprüft haben, und Ihr Anwendungsszenario. Im Allgemeinen bevorzugt IS_NAN () eine spezielle Fehlerbehandlung, während is_finite () für numerische Legalitätsprüfungen verwendet wird.