KENNTNISSE
PHP Fatal Error: Array- und String-Offset-Zugriffssyntax mit lockigen Zahnspangen wird nicht mehr unterstützt
Letzte Aktualisierung 2025-06-07
PHP ist eine beliebte serverseitige Skriptsprache, die für die Webentwicklung weit verbreitet ist. Beim Upgrade auf PHP 8.1.17 können Entwickler jedoch auf eine Fehlermeldung stoßen, die lautet: "Array- und String-Offset-Zugriffssyntax mit lockigen Klammern wird nicht mehr unterstützt". In diesem Artikel werden wir die Gründe für diesen Fehler untersuchen und Abhilfemaßnahmen und Korrekturen dafür bereitstellen.
Gründe für den Fehler
Die lockige Klammer-Syntax für den Zugriff auf Array- und String-Offsets wurde in PHP 7.4 veraltet und in PHP 8.1.17 vollständig entfernt. Das bedeutet, dass, wenn Ihr Code diese Syntax verwendet, ein Fehler ausgelöst wird, wenn er unter PHP 8.1.17 ausgeführt wird. Der Grund für diese Änderung ist, dass die lockige Klammer-Syntax weniger lesbar und weniger intuitiv ist als die eckige Klammer-Syntax, die die bevorzugte Art ist, auf Array- und String-Offsets in PHP zuzugreifen.
Heilmittel
Um diesen Fehler zu vermeiden, sollten Entwickler die Verwendung der lockigen Klammer-Syntax für den Zugriff auf Array- und String-Offsets vermeiden. Stattdessen sollten sie die eckige Klammer Syntax verwenden. Dies ist nicht nur die bevorzugte Syntax in PHP 8.1.17, sondern auch lesbarer und leichter zu verstehen.
Hier ist ein Beispiel für Code, der die lockige Klammer-Syntax verwendet:
$array = ['foo', 'bar'];
echo $array{'0'};
Und hier ist der gleiche Code, mit der eckigen Klammer Syntax:
$array = ['foo', 'bar'];
echo $array[0];
Fixes
Wenn Sie Code haben, der die lockige Klammersyntax verwendet, müssen Sie ihn ändern, um die eckige Klammersyntax zu verwenden. Dies kann ein zeitaufwendiger Prozess sein, abhängig von der Größe Ihrer Codebasis.
Der einfachste Weg, diesen Fehler zu beheben, ist die Verwendung eines automatisierten Tools wie Rektor oder PHP-CS-FixerDiese Tools können Ihren Code automatisch ändern, um die richtige Syntax zu verwenden, was Ihnen Zeit und Mühe spart.
Zusammenfassung
Der Fehler "Array und String-Offset-Zugriffssyntax mit lockigen Klammern wird nicht mehr unterstützt" tritt auf, wenn Entwickler versuchen, mit lockigen Klammern in PHP 8.1.17 auf Array- und String-Offsets zuzugreifen. Diese Syntax wurde in PHP 7.4 veraltet und in PHP 8.1.17 vollständig entfernt. Um diesen Fehler zu vermeiden, sollten Entwickler stattdessen die eckige Klammersyntax verwenden.
Wenn Sie Code haben, der die lockige Klammer-Syntax verwendet, müssen Sie ihn ändern die eckige Klammersyntax verwenden. Automatisierte Tools wie Rector und PHP-CS-Fixer können Ihnen helfen, diese Änderung schnell und einfach vorzunehmen.
Sagen Sie uns, was aufbleiben muss.
A short conversation with an engineer. No quote-bot, no callback queue. We'll tell you honestly if we're not the right fit.