Base de connaissances · PHP

Erreur fatale PHP : la syntaxe d'accès aux décalages de tableau et de chaîne avec des accolades n'est plus prise en charge

Dernière mise à jour : 2025-06-07

PHP est un langage de script côté serveur très répandu, largement utilisé pour le développement web. Toutefois, lors de la mise à niveau vers PHP 8.1.17, les développeurs peuvent rencontrer un message d'erreur indiquant : « Array and string offset access syntax with curly braces is no longer supported ». Dans cet article, nous examinons les causes de cette erreur et présentons des solutions et des correctifs.

 

Causes de l'erreur

La syntaxe avec accolades pour accéder aux index de tableaux et de chaînes a été dépréciée dans PHP 7.4 et totalement supprimée dans PHP 8.1.17. Cela signifie que si votre code utilise cette syntaxe, il générera une erreur lorsqu'il sera exécuté sous PHP 8.1.17. Cette modification s'explique par le fait que la syntaxe avec accolades est moins lisible et moins intuitive que la syntaxe avec crochets, qui est la méthode recommandée pour accéder aux index de tableaux et de chaînes en PHP.

 

Solutions

Pour éviter cette erreur, les développeurs doivent s'abstenir d'utiliser la syntaxe avec accolades pour accéder aux index de tableaux et de chaînes. Ils doivent utiliser à la place la syntaxe avec crochets. Non seulement il s'agit de la syntaxe recommandée dans PHP 8.1.17, mais elle est aussi plus lisible et plus facile à comprendre.

 

Voici un exemple de code utilisant la syntaxe avec accolades :

 
$array = ['foo', 'bar'];
echo $array{'0'};

 

Et voici le même code, utilisant la syntaxe avec crochets :

$array = ['foo', 'bar']; 
echo $array[0];

 

Correctifs

Si votre code utilise la syntaxe avec accolades, vous devrez le modifier pour utiliser la syntaxe avec crochets. Cette opération peut être longue, selon la taille de votre base de code.


Le moyen le plus simple de corriger cette erreur est d'utiliser un outil automatisé tel que Rector ou PHP-CS-Fixer. Ces outils peuvent modifier automatiquement votre code pour utiliser la syntaxe appropriée, ce qui vous fait gagner du temps et de l'énergie.

 

Résumé

L'erreur « Array and string offset access syntax with curly braces is no longer supported » se produit lorsque les développeurs tentent d'accéder aux index de tableaux et de chaînes à l'aide d'accolades dans PHP 8.1.17. Cette syntaxe a été dépréciée dans PHP 7.4 et totalement supprimée dans PHP 8.1.17. Pour éviter cette erreur, les développeurs doivent utiliser la syntaxe avec crochets.

 

Si votre code utilise la syntaxe avec accolades, vous devrez le modifier pour utiliser la syntaxe avec crochets. Des outils automatisés tels que Rector et PHP-CS-Fixer peuvent vous aider à effectuer cette modification rapidement et facilement.

← Tous les articles de la base de connaissances

Tell us what you need

Compare available plans or describe your workload so we can discuss a suitable starting point.