3v4l.org

run code in 300+ PHP versions simultaneously
<?php $xml = <<<XML <?xml version="1.0" encoding="utf-8"?> <createTransactionResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">   <refId>123456</refId>   <messages>     <resultCode>Ok</resultCode>     <message>       <code>I00001</code>       <text>Successful.</text>     </message>   </messages>   <transactionResponse>     <responseCode>1</responseCode>     <authCode>UGELQC</authCode>     <avsResultCode>E</avsResultCode>     <cavvResultCode />     <transId>2148061808</transId>     <refTransID />     <transHash>0B428D8A928AAC61121AF2F6EAC5FF3F</transHash>     <testRequest>0</testRequest>     <accountNumber>XXXX0015</accountNumber>     <accountType>MasterCard</accountType>     <message>       <code>1</code>       <description>This transaction has been approved.</description>     </message>     <userFields>       <userField>         <name>MerchantDefinedFieldName1</name>         <value>MerchantDefinedFieldValue1</value>       </userField>       <userField>         <name>favorite_color</name>         <value>lavender</value>       </userField>     </userFields>   </transactionResponse> </createTransactionResponse> XML; $dom = new DOMDocument(); libxml_use_internal_errors(true); $dom->loadXML($xml); libxml_clear_errors(); libxml_use_internal_errors(false); $query = '/createTransactionResponse/messages/resultCode[1]/text()'; $xpath = new DOMXpath($dom); #$xpath->registerNamespace('m', 'AnetApi/xml/v1/schema/AnetApiSchema.xsd'); var_dump($xpath->query($query)->length);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/Vg09h
function name:  (null)
number of ops:  28
compiled vars:  !0 = $xml, !1 = $dom, !2 = $query, !3 = $xpath
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    4     0  E >   ASSIGN                                                   !0, '%3C%3Fxml+version%3D%221.0%22+encoding%3D%22utf-8%22%3F%3E%0A%3CcreateTransactionResponse+%0Axmlns%3Axsi%3D%22http%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema-instance%22+xmlns%3Axsd%3D%22http%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema%22+xmlns%3D%22AnetApi%2Fxml%2Fv1%2Fschema%2FAnetApiSchema.xsd%22%3E%0A%C2%A0+%3CrefId%3E123456%3C%2FrefId%3E%0A%C2%A0+%3Cmessages%3E%0A%C2%A0%C2%A0%C2%A0+%3CresultCode%3EOk%3C%2FresultCode%3E%0A%C2%A0%C2%A0%C2%A0+%3Cmessage%3E%0A%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0+%3Ccode%3EI00001%3C%2Fcode%3E%0A%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0+%3Ctext%3ESuccessful.%3C%2Ftext%3E%0A%C2%A0%C2%A0%C2%A0+%3C%2Fmessage%3E%0A%C2%A0+%3C%2Fmessages%3E%0A%C2%A0+%3CtransactionResponse%3E%0A%C2%A0%C2%A0%C2%A0+%3CresponseCode%3E1%3C%2FresponseCode%3E%0A%C2%A0%C2%A0%C2%A0+%3CauthCode%3EUGELQC%3C%2FauthCode%3E%0A%C2%A0%C2%A0%C2%A0+%3CavsResultCode%3EE%3C%2FavsResultCode%3E%0A%C2%A0%C2%A0%C2%A0+%3CcavvResultCode+%2F%3E%0A%C2%A0%C2%A0%C2%A0+%3CtransId%3E2148061808%3C%2FtransId%3E%0A%C2%A0%C2%A0%C2%A0+%3CrefTransID+%2F%3E%0A%C2%A0%C2%A0%C2%A0+%3CtransHash%3E0B428D8A928AAC61121AF2F6EAC5FF3F%3C%2FtransHash%3E%0A%C2%A0%C2%A0%C2%A0+%3CtestRequest%3E0%3C%2FtestRequest%3E%0A%C2%A0%C2%A0%C2%A0+%3CaccountNumber%3EXXXX0015%3C%2FaccountNumber%3E%0A%C2%A0%C2%A0%C2%A0+%3CaccountType%3EMasterCard%3C%2FaccountType%3E%0A%C2%A0%C2%A0%C2%A0+%3Cmessage%3E%0A%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0+%3Ccode%3E1%3C%2Fcode%3E%0A%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0+%3Cdescription%3EThis+transaction+has+been+approved.%3C%2Fdescription%3E%0A%C2%A0%C2%A0%C2%A0+%3C%2Fmessage%3E%0A%C2%A0%C2%A0%C2%A0+%3CuserFields%3E%0A%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0+%3CuserField%3E%0A%C2%A0%C2%A0%C2%A0%C2%A0+%C2%A0%C2%A0%C2%A0%3Cname%3EMerchantDefinedFieldName1%3C%2Fname%3E%0A%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0+%3Cvalue%3EMerchantDefinedFieldValue1%3C%2Fvalue%3E%0A%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0+%3C%2FuserField%3E%0A%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0+%3CuserField%3E%0A%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0+%3Cname%3Efavorite_color%3C%2Fname%3E%0A%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0+%3Cvalue%3Elavender%3C%2Fvalue%3E%0A%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0+%3C%2FuserField%3E%0A%C2%A0%C2%A0%C2%A0+%3C%2FuserFields%3E%0A%C2%A0+%3C%2FtransactionResponse%3E%0A%3C%2FcreateTransactionResponse%3E'
   45     1        NEW                                              $5      'DOMDocument'
          2        DO_FCALL                                      0          
          3        ASSIGN                                                   !1, $5
   46     4        INIT_FCALL                                               'libxml_use_internal_errors'
          5        SEND_VAL                                                 <true>
          6        DO_ICALL                                                 
   47     7        INIT_METHOD_CALL                                         !1, 'loadXML'
          8        SEND_VAR_EX                                              !0
          9        DO_FCALL                                      0          
   48    10        INIT_FCALL                                               'libxml_clear_errors'
         11        DO_ICALL                                                 
   49    12        INIT_FCALL                                               'libxml_use_internal_errors'
         13        SEND_VAL                                                 <false>
         14        DO_ICALL                                                 
   51    15        ASSIGN                                                   !2, '%2FcreateTransactionResponse%2Fmessages%2FresultCode%5B1%5D%2Ftext%28%29'
   52    16        NEW                                              $13     'DOMXpath'
         17        SEND_VAR_EX                                              !1
         18        DO_FCALL                                      0          
         19        ASSIGN                                                   !3, $13
   54    20        INIT_FCALL                                               'var_dump'
         21        INIT_METHOD_CALL                                         !3, 'query'
         22        SEND_VAR_EX                                              !2
         23        DO_FCALL                                      0  $16     
         24        FETCH_OBJ_R                                      ~17     $16, 'length'
         25        SEND_VAL                                                 ~17
         26        DO_ICALL                                                 
         27      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
154.7 ms | 1392 KiB | 19 Q