Comment résoudre l'erreur PHP Fatal error Uncaught TypeError implode ?

Réponses rédigées par Antoine
Dernière mise à jour : 2022-01-30 12:32:08
Thèmes : php - implode - array
Question

Bonjour, avec le code suivant:

<?php
$field[] = $key;
$field = implode($field, ',');
?>

J'obtiens une erreur 500 et voici ce que me dit le log erreur :

PHP Fatal error: Uncaught TypeError: implode(): Argument #2 ($array) must be of type ?array, string given

Avez-vous une idée d'où vient le problème ? merci.

Réponse

Je ne sais pas quelle version de PHP vous utilisez, mais depuis PHP 7.4, passer le séparateur après les array est obsolète, et depuis PHP 8 ce n'est plus supporté et cela génère une erreur 500.

Vous devez donc inverser les arguments de la fonction implode() :

$field = implode(',', $field);

Confère cette page du manuel PHP pour plus de détails.