Notice: Array to string conversion in script.php
Bonjour ,
je m'arrache les cheveux et je ne trouve pas la cause de mon problème.
Mon code doit migrer d'un serveur php 5.6 vers un autre serveur en php 7
A priori, ça devait bien se passer.
Sauf que j'ai une erreur du type
Citation:
Notice: Array to string conversion
et que les résultats ne correspondant plus à ce qui est attendu, plus rien ne s'affiche.
Pour résumer le contexte, je fais un select dans mysql qui me renvoi un tableau qui me permettra de construire le menu utilisateur.
Les champs renvoient le libellé, le lien, les sous-menus éventuels , etc...
chaque enregistrement reçu est mis dans un tableau. Ce tableau est ajouté dans un tableau "conteneur" qui sera renvoyé par ma classe au programme. A charge pour le programme de le lire et de faire les affichages qui vont bien.
Le bout de code qui fait ça est le suivant (il marche très bien en php 5.6)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
foreach ($requete->fetchAll() as $result) {
$liste[$result[self::FIELD_ID]] = array('Titre' => $result[self::FIELD_TITRE],
'LinkUrl' => $result[self::FIELD_LINK],
'ImageUrl' => $result[self::FIELD_IMAGE],
'Texte' => $result[self::FIELD_TEXTE],
'ordre' => $result[self::FIELD_ORDRE],
'parent' => $result[self::FIELD_PARENT],
'Button' => $result[self::FIELD_BUTTON],
'Id' => $result[self::FIELD_ID]
);
}
return $liste; |
si je vais un
Code:
var_dump($liste[1][self::FIELD_LINK]);
En php 5.6 j'aurai une URL
En php 7 il m'affiche : string(1) "A"
A noter qu'il fait ça pour tous les FIELD_... , j'ai systématiquement string(1) "A"
Quelqu'un peut me pointer mon erreur et me glisser la syntaxe correcte en version 7 ?
Merci d'avance.