Heim >Datenbank >MySQL-Tutorial >Warum erhalte ich in PHP die Meldung „Schwerwiegender Fehler: []-Operator wird für Zeichenfolgen nicht unterstützt'?
Schwerwiegender Fehler: Array-Operator wird für Strings nicht unterstützt
Problem:
Beim Versuch Wenn Sie eine Datenbank mit geänderten Informationen aktualisieren, tritt die Fehlermeldung „Schwerwiegender Fehler: []-Operator wird nicht unterstützt für“ auf Zeichenfolgen.“
Analyse:
Dieser Fehler tritt auf, wenn Sie versuchen, die Array-Push-Syntax ([]) zu verwenden, um eine Variable zu manipulieren, die als Zeichenfolge deklariert wurde . Im bereitgestellten Code verwenden Sie diese Syntax für die folgenden Variablen:
$name $date $text $date2
Lösung 1:
Wenn Sie tatsächlich beabsichtigen, diese Variablen als Arrays zu verwenden Stellen Sie sicher, dass sie als solche ordnungsgemäß initialisiert wurden. Ersetzen Sie die Zuweisungen in Ihrem Code durch:
$name[] = $row['name']; $date[] = $row['date']; $text[] = $row['text']; $date2[] = $row['date2'];
Lösung 2:
Wenn Sie beabsichtigen, diese Variablen als Zeichenfolgen zu behandeln, ändern Sie die Zuweisungen in:
$name = $row['name']; $date = $row['date']; $text = $row['text']; $date2 = $row['date2'];
Zusätzlicher Kontext (PHP 7 ):
PHP 7 hat strengere Prüfungen für die Array-Push-Syntax implementiert. Bisher konnten Sie Werte in Variablen jedes Datentyps übertragen. Von dieser Praxis wird jedoch mittlerweile abgeraten. Mit der Array-Push-Syntax können nur leere oder zuvor nicht deklarierte Variablen verwendet werden.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich in PHP die Meldung „Schwerwiegender Fehler: []-Operator wird für Zeichenfolgen nicht unterstützt'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!