2016-07-30 2 views
1

SoapClient를 사용하여 일부 데이터를 가져옵니다. 나는 통화 중 하나에서이 resuls를 얻을 :SoapClient가 배열을 배열로 반환하도록 강제 적용 할 수 있습니까?

stdClass Object 
(
    [payTransIncome] => stdClass Object 
     (
      [item] => stdClass Object 
       (
        [payTransId] => 141281 
        [payTransItId] => 630260 
        [payTransBuyerId] => 1311 

       ) 
     ) 
) 

이 WebAPI의 문서가 payTransIncome가 배열라고하지만. SoapClient가 하나의 요소 배열을 발견하고 단일 stdClass 객체로 변환했습니다. 그리고 이것은 때때로 구문 분석하기가 더 어려워집니다. 때로는 실제로 요소를 1 개 이상 반환 할 수도 있기 때문입니다.

물론 어디서나 확인할 수 있습니다. if (is_array())하지만 간단하고 우아한 방법이 있습니까?

+1

시도가 SoapClient 옵션에서 SOAP_SINGLE_ELEMENT_ARRAYS''에'features'을 설정할 수 있습니다. –

+0

@IsmailRBOUH 완벽한, 고마워요! 이 질문을 답으로 게시하려면 해결책으로 표시하겠습니다. 감사! – Tom

+1

당신은 오신 것을 환영합니다. 답변이 추가되어 향후 동일한 문제에 직면 한 사람들이 쉽게 발견 할 수 있습니다! –

답변

3

당신의 SoapClient 옵션에서 SOAP_SINGLE_ELEMENT_ARRAYSfeatures을 설정하려고하십시오

$client = new SoapClient("some.wsdl", ['features' => SOAP_SINGLE_ELEMENT_ARRAYS]); 
관련 문제