PHP Verkettungs wird NULL
-
22-07-2019 - |
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;
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.