通过Soap响应的PHP循环

通过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

如何循环这个Soap响应并回显电话号码和状态,我对json对象的Soap响应位还不熟悉

<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;
}