我已连接到Web服务并以XML文件格式接收数据。当我得到var_dump($response);
时,我得到了这个数组:
object(stdClass)#2 (1) {
["GetBookInfoByISBN"]=>
object(stdClass)#3 (14) {
["Success"]=>
bool(true)
["ResponseText"]=>
string(10) "Book Found"
["State"]=>
string(2) "CA"
["GetNumber"]=>
string(8) "1234"
["BookID"]=>
int(4) "12"
}
}
现在我正试图获得BookID的价值:
$soapclient = new SoapClient('http://wsf.com/BookWS/Book.asmx?WSDL');
$params = array('ISBN' => '1111');
$response = $soapclient->GetBookInfoByISBN($params);
var_dump($response);
<form>
<p><?php echo $response['BookID']; ?></p>
</form>
我收到此错误Fatal error: Cannot use object of type stdClass as array
这显然意味着我无法正确访问数据。
我很感激任何建议。
答案 0 :(得分:1)
使用->
您必须使用->
来访问它,因为它是一个对象。
更改您的代码:
echo $response['BookID'];
要:
echo $response->BookID;
或强>
您可以将stdClass object to array转换为:
$array = (array)$stdClass;