Heim >Backend-Entwicklung >PHP-Tutorial >Warum löst mein PHP-Code beim Initialisieren einer statischen Variablen den Fehler „Schwerwiegender Fehler: Konstanter Ausdruck enthält ungültige Vorgänge' aus?
Schwerwiegender PHP-Fehler: Konstanter Ausdruck ungültige Vorgänge
Wenn der Fehler „Schwerwiegender Fehler: Konstanter Ausdruck enthält ungültige Vorgänge“ auftritt, tritt er auf, wenn Eine statische PHP-Variable versucht vor PHP 5.6, mit einem nicht-literalen oder nicht-konstanten Wert zu initialisieren.
In Ihrem In diesem Fall versucht die betreffende Zeile:
protected static $dbname = 'mydb_'.$appdata['id'];
, die statische Eigenschaft $dbname mit dem Wert der dynamischen Variablen $appdata['id'] zu initialisieren. Statische Eigenschaften erfordern jedoch vor PHP 5.6 eine Initialisierung mit Konstanten oder Literalen.
Der Grund dafür ist, dass statische Deklarationen zur Kompilierungszeit ausgewertet werden, was bedeutet, dass der PHP-Interpreter nicht auf dynamische Variablen zugreifen kann, die nur zur Laufzeit bekannt sind . Um diesen Fehler zu beheben, können Sie:
Das obige ist der detaillierte Inhalt vonWarum löst mein PHP-Code beim Initialisieren einer statischen Variablen den Fehler „Schwerwiegender Fehler: Konstanter Ausdruck enthält ungültige Vorgänge' aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!