Конкатенация PHP становится NULL - PullRequest
1 голос
/ 30 октября 2009

Когда я запускаю этот код, примерно на полпути через цикл конкатенации, $ xml становится нулевым и остается нулевым на протяжении всего цикла конкатенации. Кто-нибудь видел, почему это происходит?

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

Ответы [ 2 ]

4 голосов
/ 30 октября 2009

В случае, если $ this-> 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;
0 голосов
/ 30 октября 2009

Вам нужно будет распечатывать значения $ колонки по ходу дела. Если вы получаете очень неожиданное имя столбца, вам может потребоваться проверить это условие, прежде чем создавать для него строку XML.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...