我正在使用以下代碼從使用Soap的網站獲取數據。stdClass對象和foreach循環
$client = new SoapClient('http://some.url.here');
class SMSParam {
public $CellNumber;
public $AccountKey;
public $MessageCount;
public $MessageBody;
public $Reference;
}
$parameters = new SMSParam;
$parameters -> AccountKey = "$sms_key";
$parameters -> MessageCount = "25";
$Result = $client->GetIncomingMessages($parameters);
echo "<pre>";
print_r($Result);
echo "</pre>";
下面是輸出的一個樣本:
stdClass Object
(
[GetIncomingMessagesResult] => stdClass Object
(
[SMSIncomingMessage] => Array
(
[0] => stdClass Object
(
[OutgoingMessageID] => data
[Reference] => data
[MessageNumber] => data
[PhoneNumber] => data
[Message] => data
[ReceivedDate] => data
)
[1] => stdClass Object
(
[OutgoingMessageID] => data
[Reference] => data
[MessageNumber] => data
[PhoneNumber] => data
[Message] => data
[ReceivedDate] => data
)
[2] => stdClass Object
(
[OutgoingMessageID] => data
[Reference] => data
[MessageNumber] => data
[PhoneNumber] => data
[Message] => data
[ReceivedDate] => data
)
)
)
)
如果只返回1的結果,我可以簡單的做這樣的事情:
$reference = $result->GetIncomingMessagesResult->SMSIncomingMessage->Reference;
那麼我將如何去處理多個結果?
任何幫助將不勝感激。
昨天花了一天的疑惑過這事。我不知道「SOAP_SINGLE_ELEMENT_ARRAYS」標誌;感謝那。 – nickmjones 2009-10-08 13:57:15