2016-07-30 2 views
1

SoapClientを使用してデータを取得しています。このWebAPIののドキュメントはpayTransIncomeが配列であると言うしかしSoapClientに配列を配列として返すように強制できますか?

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

       ) 
     ) 
) 

:私は、これは呼び出しのいずれかからresuls得ます。 SoapClientが1つの要素配列を見つけて、それを単一の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]); 
関連する問題