Comment résoudre l'erreur Fatal error: Uncaught Error: [] operator not supported for strings

Comment résoudre l'erreur Fatal error: Uncaught Error: [] operator not supported for strings
Temps de lecture estimé : 2 minutes

Cette erreur survient à partir de php 7.1 :

Fatal error: Uncaught Error: [] operator not supported for strings

Cette erreur survient en fait lorsque vous avez initialisé une variable avec un certain type, comme par exemple une chaine (string) et qu’ensuite vous essayez d’y ajouter une case d’un tableau. Typiquement ce code suivant provoquera l’erreur.

Le souci provient lorsqu’on essaye de push une valeur dans un tableau dans une variable qui n’a pas été définie comme un tableau, qu’il s’agisse d’une chaine, d’un entier, d’une classe, etc. Tous ces exemples ci-dessous retourneront une erreur

Temps nécessaire : 5 minutes.

Résoudre l’erreur Fatal error: Uncaught Error: [] operator not supported for strings

  1. Trouver la ligne qui provoque l’erreur

    Grâce au log d’erreur de votre site ou application, vous obtiendrez directement la ligne provoquant le souci. Dans l’exemple suivant, il s’agit d’un fichier d’un thème WordPress, et l’erreur se trouve à la ligne 108
    [php7:error] PHP Fatal error: Uncaught Error: [] operator not supported for strings in /functions.php:108

  2. Initialiser la variable avec un tableau array

    Allez dans le fichier à la ligne provoquant l’erreur et déterminez quelle est la variable posant souci. une fois que vous l’avez trouvé, relisez votre code pour trouver l’endroit où vous initialisez cette variable.
    Une fois que vous avez trouvez, il faut donc initialiser votre variable avec un tableau, vous pouvez utiliser l’opérateur []

  3. Variante : initialiser la variable avec array()

    Vous pouvez aussi initialiser votre variable directement avec un array, cette solution alternative fonctionne également

Send a Comment

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.