Estoy usando el siguiente código para obtener datos de un sitio web utilizando Soap.stdClass object y foreach loops
$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>";
Aquí es una muestra de la salida:
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
)
)
)
)
Si sólo se devuelve 1 resultado, simplemente me puedo hacer algo como esto:
$reference = $result->GetIncomingMessagesResult->SMSIncomingMessage->Reference;
Entonces, ¿cómo hago para trabajando con resultados múltiples?
Cualquier ayuda sería muy apreciada.
Pasamos el día de ayer interrogado sobre esto mismo. No tenía idea sobre el indicador "SOAP_SINGLE_ELEMENT_ARRAYS"; gracias por eso. – nickmjones
para las personas que no saben cómo agregar la opción: '$ client = new SoapClient ('http://www.example.com', array ('features' => SOAP_SINGLE_ELEMENT_ARRAYS,));' –