var_dumpが次のようなSOAP応答があります。
object(stdClass)[14]
public 'GetClientsResult' =>
object(stdClass)[15]
これを一生解析する方法がわかりません。これまでstdClassを使用したことはありません。
PHPでこの応答を解析するにはどうすればよいですか?
var_dumpが次のようなSOAP応答があります。
object(stdClass)[14]
public 'GetClientsResult' =>
object(stdClass)[15]
これを一生解析する方法がわかりません。これまでstdClassを使用したことはありません。
PHPでこの応答を解析するにはどうすればよいですか?
手始めに、それを配列にキャストできます(オブジェクトがに格納されていると仮定します$response
):
$response = (array) $response;
または、次の方法でアクセスできます。
$response->GetClientResult->otherStuff;
AnStdClass
は、プロパティ値を設定および取得できる空のクラスです。例:
<?php
// $response is a normal array
$response['GetClientResult'] = 'foo'; // set
$response['GetClientResult']; // get
// $response is a StdClass
$response->GetClientResult = 'foo'; // set
$response->GetClientResult; // get
?>
また、クラスを配列にキャストバックする場合は、次を使用できます。
$response = (array) $response
また、複数のStdClassがあるため、これを再帰的に実行する場合は、次のようにします。
function StdClass2array(StdClass $class)
{
$array = array();
foreach ($class as $key => $item)
{
if ($item instanceof StdClass) {
$array[$key] = StdClass2array($item);
} else {
$array[$key] = $item;
}
}
return $array;
}