Heim  >  Artikel  >  Backend-Entwicklung  >  Lösung für PHP-Warnung: Division durch Null in

Lösung für PHP-Warnung: Division durch Null in

王林
王林Original
2023-06-23 08:04:391928Durchsuche

Im Prozess der PHP-Entwicklung treten häufig verschiedene Fehler und Ausnahmen auf. Darunter ist die PHP-Warnung: Division durch Null ein häufig auftretender Fehler, der uns dazu auffordert, irgendwo eine Division durch Null durchzuführen. Diese Fehlermeldung sieht beängstigend aus, ist aber tatsächlich leicht zu beheben. Hier sind mehrere Lösungen für Sie.

  1. Überprüfen Sie den Code

Zuerst müssen wir unseren Code überprüfen. PHP-Warnung: Eine fehlerhafte Division durch Null wird normalerweise durch Divisionsberechnungen im Code verursacht. Bevor wir die Divisionsberechnung durchführen, sollten wir prüfen, ob der Divisor 0 ist. Wenn der Divisor 0 ist, sollten wir die Divisionsberechnung vermeiden oder im Voraus eine spezielle Verarbeitung durchführen.

Hier ist ein Code, der PHP-Warnung: Division durch Null fehlerhaft verursachen kann:

$denominator = 0;
$result = $numerator / $denominator;

Wenn der Wert von $denominator zufällig 0 ist, verursacht der obige Code diesen Fehler. Um diesen Fehler zu vermeiden, können wir vor der Divisionsberechnung einige Beurteilungen hinzufügen, zum Beispiel:

if ($denominator != 0) {
    $result = $numerator / $denominator;
} else {
    // 对除数为 0 的情况进行特殊处理
}
  1. Verwenden Sie den Fehlerkontrolloperator

Zusätzlich zur ersten Überprüfung des Divisors können wir auch den Fehlerkontrolloperator von PHP verwenden ( @-Symbol), um Fehler im gesamten Prozess der Divisionsberechnung abzuschirmen. Beispiel:

$denominator = 0;
$result = @($numerator / $denominator);

Wenn bei dieser Methode der Wert von $denominator 0 ist, gibt die Divisionsberechnung einen Fehler zurück, und dieser Fehler wird durch das @-Symbol maskiert und $result wird der Wert false zugewiesen. Diese Methode löst das Problem nicht, verbirgt aber den Fehler und wird nicht empfohlen.

  1. Ändern Sie die Datei php.ini

Wir können die PHP-Konfigurationsdatei php.ini direkt ändern, um die Fehlerausgabestufe von E_WARNING auf E_NOTICE oder niedriger zu reduzieren. Auf diese Weise wird die Operation „Division durch Null“ zwar weiterhin ausgeführt, führt jedoch nicht zu der PHP-Warnung: „Division durch Null fehlerhaft“, sondern wird reibungslos ausgeführt und das Ergebnis wird zurückgegeben. Der Nachteil dieser Methode besteht darin, dass, wenn wir wirklich andere wichtige Warnfehler haben, diese ebenfalls blockiert werden, sodass sie mit Vorsicht verwendet werden muss.

Suchen Sie die Zeile „error_reporting“ in php.ini und ändern Sie sie wie folgt:

error_reporting = E_ALL & ~E_NOTICE & ~E_WARNING & ~E_DEPRECATED & ~E_STRICT
  1. Verwenden Sie einen Fehlerhandler

Die letzte Lösung besteht darin, einen Fehlerhandler im Programm zu verwenden, um durch Null zu dividieren. Ausnahmen werden abgefangen und behandelt . Normalerweise verwenden wir das Try-Catch-Modul zur Ausnahmebehandlung. Beispiel:

try {
    $result = $numerator / $denominator;
} catch (Throwable $e) {
    // 对除数为 0 的异常进行处理
}

Diese Methode ermöglicht es dem Programm, die Ausführung nicht zu unterbrechen, wenn es auf eine Division durch 0 stößt, sondern ruft automatisch den von uns geschriebenen Fehlerbehandler für die Verarbeitung auf, was die Fehlertoleranz des Programms verbessert.

Zusammenfassung:

PHP-Warnung: In unserer PHP-Entwicklung kommt es häufig zu Fehlern, aber es handelt sich nur um ein kleines Problem, indem wir einige einfache Beurteilungen und Verarbeitungen in unserem Programm vornehmen. Die oben vorgestellten Lösungen sind alle machbar, aber wir müssen sie basierend auf der tatsächlichen Situation auswählen und verwenden.

Das obige ist der detaillierte Inhalt vonLösung für PHP-Warnung: Division durch Null in. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn