PHP连接变为NULL

时间:2009-10-30 17:48:48

标签: php string concatenation

当我运行此代码时,在串联循环的大约一半时,$ xml变为null并在整个连接循环的其余部分保持为null。有人知道为什么会这样吗?

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

2 个答案:

答案 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字符串之前测试该条件。