문제

이 코드를 실행하면 연결 루프를 통해 약 반쯤을 실행하면 $ 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 문자열을 작성하기 전에 해당 조건을 테스트해야 할 수도 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top