0
私が現在使用してWebサービスから情報を取得しています:CodeIgniterのPHP - SOAP(WDSL)結果を解析
$serviceData= new SoapClient('http://xxx.xxx.xxx.xx:xx/WebService/WebService.svc?wsdl');
$response = $serviceData->GetMyInformation();
var_dump($response);
のvar_dumpからの結果は以下の通りです:
object(stdClass)#15 (1)
{ ["GetDatabaseResult"]=> object(stdClass)#16 (1)
{ ["DatabaseInformation"]=> array(4)
{ [0]=> object(stdClass)#17 (2)
{ ["DateCreated"]=> string(19) "2016-07-06T09:36:03" ["CurrencyCode"]=> string(3) "USD" }
[1]=> object(stdClass)#18 (2)
{ ["DateCreated"]=> string(19) "2016-12-07T02:49:02" ["CurrencyCode"]=> string(3) "USD" }
[2]=> object(stdClass)#19 (2)
{ ["DateCreated"]=> string(19) "2016-12-07T02:52:38" ["CurrencyCode"]=> string(3) "USD" }
[3]=> object(stdClass)#20 (2)
{ ["DateCreated"]=> string(19) "2016-12-07T02:53:38" ["CurrencyCode"]=> string(3) "USD" }
}
}
}
は何が必要なのforeachのです私はそれぞれのキーと値を取得することができますループ:
DateCreated: 2016-07-06T09:36:03
CurrencyCode: USD
私はトンを削除json_encode($response)
を使用してみました彼object(stdClass)#15 (1)
この点にそれを得たjson_dencode($response)
:
array(1)
{ ["GetDatabaseResult"]=> array(1)
{ ["DatabaseInformation"]=> array(4)
{ [0]=> array(2)
{ ["DateCreated"]=> string(19) "2016-07-06T09:36:03" ["CurrencyCode"]=> string(3) "USD" }
[1]=> array(17)
{ ["DateCreated"]=> string(19) "2016-12-07T02:49:02" ["CurrencyCode"]=> string(3) "USD" }
[2]=> array(17)
{ ["DateCreated"]=> string(19) "2016-12-07T02:52:38" ["CurrencyCode"]=> string(3) "USD" }
[3]=> array(17)
{ ["DateCreated"]=> string(19) "2016-12-07T02:52:38" ["CurrencyCode"]=> string(3) "USD" }
}
}
}
私はそれがネストされた配列を知っているが、どのように私はそれを解析するのでしょうか?
これは素晴らしいです!あなたは、JSONを分割する方法と、$ response-> GetDatabaseResult-> DatabaseInformationに到達する方法について考えてみましょう。主に上記のJSON iが連想配列のように見えるので、私はいつでも適用することを知らないというこの問題を - >(オブジェクト)でした。 – Raidenlee
var_dumpの出力から少し考えていますが、 'object(stdClass)'と表示されている場所であれば、 ' - >'であり、 '[]]ルックアップか' 「foreach」。配列検索のために適切なキーを使って試してみる必要があるかもしれませんが、それは必要なものだけです。 – Femi
アドバイスをいただき、ありがとうございます。あなたの答えをアップアップしました。 – Raidenlee