Verständnis „Ein nicht wohlgeformter numerischer Wert aufgetreten“-Fehler in PHP
Beim Versuch, aus einem Formular übergebene Daten zu validieren, kann es zu einem Fehler kommen der Fehler „Es wurde ein nicht wohlgeformter numerischer Wert festgestellt.“ Dieser Fehler weist darauf hin, dass Sie versuchen, einen Wert zu verwenden, der keine wohlgeformte Zahl ist.
In Ihrem speziellen Fall erhalten Sie diesen Fehler, wenn Sie versuchen, die Funktion date() mit einem GET-Parameter zu verwenden stellt ein Startdatum dar. Das Problem tritt auf, weil dieser Parameter als Zeichenfolge im Format „2020-10-10“ oder „2020/10/10“ übergeben wird, was kein gültiger numerischer Wert für die date()-Funktion ist.
Beheben des Problems
Um dieses Problem zu beheben, müssen Sie den Datumsparameter in einen numerischen Wert konvertieren, bevor Sie ihn an übergeben date()-Funktion. Sie können die Funktion strtotime() verwenden, um die String-Datumsdarstellung in eine Anzahl von Sekunden umzuwandeln. Hier ist der korrigierte Code:
date("d", strtotime($_GET['start_date']));
Zusätzliche Überlegungen
Es ist wichtig, die Grundursache dieses Fehlertyps zu verstehen. Wenn Sie auf einen solchen Fehler stoßen, sollten Sie zunächst den Problemwert mit var_dump() untersuchen. Dadurch können Sie Folgendes feststellen:
Niemals Versuchen Sie, den Problemwert blind in eine Zahl umzuwandeln, da dies das tatsächliche Problem verschleiert und möglicherweise zu falschen Ergebnissen führt.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich die Fehlermeldung „Ein nicht wohlgeformter numerischer Wert ist aufgetreten', wenn ich die PHP-Funktion „date()' mit einem GET-Parameter verwende?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!