当我运行此代码时,在串联循环的大约一半时,$ xml变为null并在整个连接循环的其余部分保持为null。有人知道为什么会这样吗?
$xml = '';
foreach($this->currentColumns['unknown'] as $column => $value)
{
$xml .= "<columnName>";
$xml .= $column;
$xml .= "</columnName>\r\n";
}
return $xml;
答案 0 :(得分:4)
如果$ this-&gt; currentColumns是XML解析的某种结果(例如使用SimpleXML),则此数组的元素很可能不是真正的字符串,而是XMLElement对象,或者足够接近的对象。
尝试转换变量,因此您确定要连接字符串而不是对象:
$xml = '';
foreach($this->currentColumns['unknown'] as $column => $value)
{
$xml .= "<columnName>";
$xml .= (string)$column; // <--- here is the trick
$xml .= "</columnName>\r\n";
}
return $xml;
答案 1 :(得分:0)
您将不得不打印出您的$ column值。如果你得到一个非常意外的列名,你可能必须在为它创建xml字符串之前测试该条件。