我有一个 SOAP 响应,其 var_dump 如下所示:
object(stdClass)[14]
public 'GetClientsResult' =>
object(stdClass)[15]
我无法弄清楚如何为我的一生解析这个,我以前从未使用过 stdClass 。
如何在 PHP 中解析此响应?
我有一个 SOAP 响应,其 var_dump 如下所示:
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;
}