当我运行此代码,通过级联环关于中途,$ XML成为空和整个级联循环的其余部分保持为空。有没有人知道为什么发生这种情况?

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

解决方案

在这里是$这个 - > currentColumns是某种形式的XML解析(用SimpleXML例如)的结果,很可能是这个数组的元素是不是真的字符串,但的XMLElement对象,或者说足够接近。

尝试铸造你的变量,所以你确定你catenating字符串,而不是对象:

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

其他提示

你将不得不为你去打印出$列值。如果你得到一个很意外的列名,则可能必须为它创造XML字符串之前,以测试该条件。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top