3v4l.org

run code in 300+ PHP versions simultaneously
<?php const XML = <<<XML <rates base="GBP" ts="1573679946"> <rate code="AED" rate="4.7190899844812" live="0"/> <rate code="AFN" rate="100.47049152188" live="0"/> </rates> XML; $doc = new DOMDocument(); $doc->loadXML(XML); $xpath = new DOMXPath($doc); $code = 'AED'; $result = $xpath->query("//rate[@code='{$code}']"); var_dump($result->item(0)->getAttribute('rate'));
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/EGbnc
function name:  (null)
number of ops:  30
compiled vars:  !0 = $doc, !1 = $xpath, !2 = $code, !3 = $result
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   DECLARE_CONST                                            'XML', '%3Crates+base%3D%22GBP%22+ts%3D%221573679946%22%3E%0A++%3Crate+code%3D%22AED%22+rate%3D%224.7190899844812%22+live%3D%220%22%2F%3E%0A++%3Crate+code%3D%22AFN%22+rate%3D%22100.47049152188%22+live%3D%220%22%2F%3E%0A%3C%2Frates%3E'
   10     1        NEW                                              $4      'DOMDocument'
          2        DO_FCALL                                      0          
          3        ASSIGN                                                   !0, $4
   11     4        INIT_METHOD_CALL                                         !0, 'loadXML'
          5        FETCH_CONSTANT                                   ~7      'XML'
          6        SEND_VAL_EX                                              ~7
          7        DO_FCALL                                      0          
   13     8        NEW                                              $9      'DOMXPath'
          9        SEND_VAR_EX                                              !0
         10        DO_FCALL                                      0          
         11        ASSIGN                                                   !1, $9
   15    12        ASSIGN                                                   !2, 'AED'
   16    13        INIT_METHOD_CALL                                         !1, 'query'
         14        ROPE_INIT                                     3  ~14     '%2F%2Frate%5B%40code%3D%27'
         15        ROPE_ADD                                      1  ~14     ~14, !2
         16        ROPE_END                                      2  ~13     ~14, '%27%5D'
         17        SEND_VAL_EX                                              ~13
         18        DO_FCALL                                      0  $16     
         19        ASSIGN                                                   !3, $16
   18    20        INIT_FCALL                                               'var_dump'
         21        INIT_METHOD_CALL                                         !3, 'item'
         22        SEND_VAL_EX                                              0
         23        DO_FCALL                                      0  $18     
         24        INIT_METHOD_CALL                                         $18, 'getAttribute'
         25        SEND_VAL_EX                                              'rate'
         26        DO_FCALL                                      0  $19     
         27        SEND_VAR                                                 $19
         28        DO_ICALL                                                 
         29      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
157.98 ms | 1401 KiB | 15 Q