通过Soap响应的PHP循环
如何循环这个Soap响应并回显电话号码和状态,我对json对象的Soap响应位还不熟悉通过Soap响应的PHP循环,php,xml,soap,Php,Xml,Soap,如何循环这个Soap响应并回显电话号码和状态,我对json对象的Soap响应位还不熟悉 <AfricasTalkingResponse> <SMSMessageData> <Message>Sent to 2/2 Total Cost: KES 1.6000</Message> <Recipients> <Recipient> <number>+254798
<AfricasTalkingResponse>
<SMSMessageData>
<Message>Sent to 2/2 Total Cost: KES 1.6000</Message>
<Recipients>
<Recipient>
<number>+254798834284</number>
<cost>KES 0.8000</cost>
<status>Success</status>
<statusCode>101</statusCode>
<messageId>ATXid_bbf2f1666edb884ebda0301ba6f3500f</messageId>
<messageParts>1</messageParts>
</Recipient>
<Recipient>
<number>+254719401837</number>
<cost>KES 0.8000</cost>
<status>Success</status>
<statusCode>101</statusCode>
<messageId>ATXid_e63021c301c9b82aebfe9acc972e49b9</messageId>
<messageParts>1</messageParts>
</Recipient>
</Recipients>
</SMSMessageData>
必须使用simplexml将其解析为数组: 在SimpleXML中,对象被视为根元素。因此,您可以循环浏览收件人项目,如下所示:
$xml = simplexml_load_string($response);
foreach($xml->SMSMessageData->recipients as $recipient)
{
echo (string)$recipient->status;
echo (string)$recipient->number;
}
你能给我们看一些代码吗?@Muhammed错误现在是为foreach()提供的无效参数,你尝试哪一个?我已经对响应进行了注释,我看到了,它没有转换为数组,所以你需要使用simpleXML
<AfricasTalkingResponse>
<SMSMessageData>
<Message>Sent to 2/2 Total Cost: KES 1.6000</Message>
<Recipients>
<Recipient>
<number>+254798834284</number>
<cost>KES 0.8000</cost>
<status>Success</status>
<statusCode>101</statusCode>
<messageId>ATXid_bbf2f1666edb884ebda0301ba6f3500f</messageId>
<messageParts>1</messageParts>
</Recipient>
<Recipient>
<number>+254719401837</number>
<cost>KES 0.8000</cost>
<status>Success</status>
<statusCode>101</statusCode>
<messageId>ATXid_e63021c301c9b82aebfe9acc972e49b9</messageId>
<messageParts>1</messageParts>
</Recipient>
</Recipients>
</SMSMessageData>
$xml = simplexml_load_string($response);
foreach($xml->SMSMessageData->recipients as $recipient)
{
echo (string)$recipient->status;
echo (string)$recipient->number;
}