Question

Lorsque je lance ce code, à peu près au milieu de la boucle de concaténation, $ xml devient nul et reste nul pendant le reste de la boucle de concaténation. Quelqu'un a-t-il compris pourquoi cela se produit?

$xml = '';
foreach($this->currentColumns['unknown'] as $column => $value)
{
   $xml .= "<columnName>";
   $xml .= $column;
   $xml .= "</columnName>\r\n";
}
return $xml;
Était-ce utile?

La solution

Dans le cas où $ this- > currentColumns est une sorte de résultat d'une analyse XML (avec SimpleXML par exemple), il est fort possible que les éléments de ce tableau ne soient pas vraiment des chaînes, mais des objets XMLElement ou assez proches.

Essayez de transtyper votre variable pour vous assurer de caténiser des chaînes et non des objets:

$xml = '';
foreach($this->currentColumns['unknown'] as $column => $value)
{
   $xml .= "<columnName>";
   $xml .= (string)$column;  // <--- here is the trick
   $xml .= "</columnName>\r\n";
}
return $xml;

Autres conseils

Vous allez devoir imprimer vos valeurs de colonne $ au fur et à mesure. Si vous obtenez un nom de colonne très inattendu, vous devrez peut-être tester à cette condition avant de créer la chaîne xml correspondante.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top