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
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.