3v4l.org

run code in 300+ PHP versions simultaneously
<?php $soapXMLResult = '<soapenv:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <HostCustomerResponse xmlns="http://xx.xx.xx.xx"> <ns1:output xmlns:ns1="http://xx.xx.xx" xmlns:ns2="some:url" xsi:type="ns2:Output"> <ns2:statusCode>00</ns2:statusCode> <ns2:statusMsg/> <ns2:txnResponseDateTime>20190625164236</ns2:txnResponseDateTime> <ns2:txnData> <transferRequest> <transfer> <transferId>123456789</transferId> <txnDate>123456789</txnDate> <debitAcctNo>123456789</debitAcctNo> <benAcctNo>123456789</benAcctNo> </transfer> </transferRequest> </ns2:txnData> </ns1:output> </HostCustomerResponse> </soapenv:Body> </soapenv:Envelope>'; $response = preg_replace("/(<\/?)(\w+):([^>]*>)/", "$1$2$3", $soapXMLResult); $xml = new SimpleXMLElement($response); $body = $xml->xpath('//soapenvBody')[0]; $array = json_decode(json_encode((array)$body), TRUE); $transfer = $array['HostCustomerResponse']['ns1output']['ns2txnData']['transferRequest']['transfer']; echo '<pre>'; print_r($transfer);
Output for 7.1.25 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.27, 8.4.1 - 8.4.14
<pre>Array ( [transferId] => 123456789 [txnDate] => 123456789 [debitAcctNo] => 123456789 [benAcctNo] => 123456789 )

preferences:
263.74 ms | 408 KiB | 5 Q