2012-02-12 2 views
0

affiliateservice api 통해 TransactionList 가져 오는 중입니다. 내에서 print_r ($ 응답) 나에게주는이 (내가 XX 넣어했지만, 실제로 숫자가있다) :제휴 서비스 API 응답 구문 분석

stdClass Object 
(
    [getTransactionListReturn] => Array 
     (
      [0] => stdClass Object 
       (
        [iId] => xx 
        [sStatus] => pending 
        [sType] => normal 
        [sIp] => xx 
        [bPaid] => xx 
        [iPaymentId] => xx 
        [iMerchantId] => xx 
        [fSaleAmount] => xx 
        [fCommissionAmount] => xx 
        [dClickDate] => xx 
        [dTransactionDate] => xx 
        [sClickref] => xx 
        [aTransactionParts] => Array 
         (
          [0] => stdClass Object 
           (
            [sCommissionGroupName] => STANDARD 
            [fSaleAmount] => xx 
            [fCommissionAmount] => xx 
            [iCommission] => xx 
            [sCommissionType] => percentage 
           ) 

         ) 

       ) 

      [1] => stdClass Object 
       (
        [iId] => x 
        [sStatus] => pending 
        [sType] => normal 
        [sIp] => x 
        [bPaid] => 
        [iPaymentId] => x 
        [iMerchantId] => x 
        [fSaleAmount] => x 
        [fCommissionAmount] => x 
        [dClickDate] => x 
        [dTransactionDate] => x 
        [sClickref] => x 
        [sSearchSiteName] => x 
        [sSearchSiteKeyword] => x 
        [aTransactionParts] => Array 
         (
          [0] => stdClass Object 
           (
            [sCommissionGroupName] => DEFAULT 
            [fSaleAmount] => x 
            [fCommissionAmount] => x 
            [iCommission] => x 
            [sCommissionType] => percentage 
           ) 

         ) 

       ) 

     ) 

    [getTransactionListCountReturn] => stdClass Object 
     (
      [iRowsReturned] => 2 
      [iRowsAvailable] => 386 
     ) 

) 

그래서, 내 질문은 어떻게 '해석'할 수있다이 PHP에서? 나는이 데이터에 어떻게 접근 할 수 있을까? 내말은

$response[0]->sStatus; 

감사합니다.

답변

1

모든 것이 PHP의 표준 클래스 인 stdClass의 인스턴스입니다 (배열 제외). :)).

즉, ->을 사용하여 각 개체의 속성에 액세스 할 수 있습니다.

$someSaleAmount = 
     $response->getTransactionListReturn[0]->aTransactionParts[0]->fSaleAmount; 

아마도 json_decode()을 사용했을 것입니다. 객체가 아닌 배열을 처리하려는 경우 두 번째 매개 변수를 true으로 설정할 수 있습니다.

1

글쎄, 첫 번째 것은 객체 라기보다는 배열이다. 다시 몇 가지 값을 가진 객체이다. 이 같은 뭔가를 갈 것 :

<code> 
$response = $obj->getTransactionListReturn(); 
foreach($response as $key => $value) { 
    // key is index (0, 1, ..., n) 
    // value is the variable like iId 
    echo $value->id; 
} 
</code> 

작동합니다.