Frage

Wenn ich diesen Code ausführen, etwa die Hälfte Weg durch die Verkettung Schleife wird $ xml null und bleibt während des Restes der Verkettung Schleife null. Hat jemand sehen, warum dies geschieht?

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

Lösung

Bei $ this-> currentColumns ist eine Art von Ergebnis einer XML (mit SimpleXML zum Beispiel) Parsen, dann ist es sehr gut möglich, dass die Elemente dieses Arrays sind nicht wirklich Strings, sondern XMLElement Objekte oder etwas nah genug.

Versuchen Sie Ihre Variable Gießen, so dass Sie sicher, dass Sie catenating Strings und nicht Objekte:

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

Andere Tipps

Sie gehen, um Ihre $ Spaltenwerte auszudrucken, wie Sie gehen. Wenn Sie ein sehr unerwarteten Spaltennamen bekommen, können Sie unter dieser Bedingung zu testen, bevor Sie die XML-Zeichenfolge für sie zu schaffen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top