문제
이 코드를 실행하면 연결 루프를 통해 약 반쯤을 실행하면 $ XML이 무효화되고 나머지 연결 루프 전체에서 널을 유지합니다. 왜 이런 일이 일어나고 있는지 알 수 있습니까?
$xml = '';
foreach($this->currentColumns['unknown'] as $column => $value)
{
$xml .= "<columnName>";
$xml .= $column;
$xml .= "</columnName>\r\n";
}
return $xml;
해결책
경우 $ 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;
다른 팁
갈 때 $ 열 값을 인쇄해야합니다. 예상치 못한 열 이름을 얻는 경우 XML 문자열을 작성하기 전에 해당 조건을 테스트해야 할 수도 있습니다.
제휴하지 않습니다 StackOverflow