3v4l.org

run code in 300+ PHP versions simultaneously
<?php $data = <<<DATA <a> <a1> <author pid = "123"> </author> <book>Book1</book> </a1> <a1> <author pid = "123"> </author> <book>Book1</book> </a1> <a2> <editor pid = "123"> </editor> <book>Book2</book> </a2> </a> DATA; $abc= new DomDocument(); $abc->loadXML($data); $xpath = new DOMXPath($abc); $venue = "Book1"; $expr = "/a/*[self::a1 or self::a2]/*[self::author or self::editor][@pid=\"123\"]/following-sibling::book[normalize-space(text()) = '" . $venue . "']"; $xyz = $xpath->query($expr); echo $xyz->length;
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/HG7uH
function name:  (null)
number of ops:  22
compiled vars:  !0 = $data, !1 = $abc, !2 = $xpath, !3 = $venue, !4 = $expr, !5 = $xyz
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                   !0, '%3Ca%3E%0A%3Ca1%3E%0A%3Cauthor+pid+%3D+%22123%22%3E+%3C%2Fauthor%3E%0A%3Cbook%3EBook1%3C%2Fbook%3E%0A%3C%2Fa1%3E%0A%3Ca1%3E%0A%3Cauthor+pid+%3D+%22123%22%3E+%3C%2Fauthor%3E%0A%3Cbook%3EBook1%3C%2Fbook%3E%0A%3C%2Fa1%3E%0A%3Ca2%3E%0A%3Ceditor+pid+%3D+%22123%22%3E+%3C%2Feditor%3E%0A%3Cbook%3EBook2%3C%2Fbook%3E%0A%3C%2Fa2%3E%0A%3C%2Fa%3E'
   20     1        NEW                                              $7      'DomDocument'
          2        DO_FCALL                                      0          
          3        ASSIGN                                                   !1, $7
   21     4        INIT_METHOD_CALL                                         !1, 'loadXML'
          5        SEND_VAR_EX                                              !0
          6        DO_FCALL                                      0          
   22     7        NEW                                              $11     'DOMXPath'
          8        SEND_VAR_EX                                              !1
          9        DO_FCALL                                      0          
         10        ASSIGN                                                   !2, $11
   23    11        ASSIGN                                                   !3, 'Book1'
   24    12        CONCAT                                           ~15     '%2Fa%2F%2A%5Bself%3A%3Aa1+or+self%3A%3Aa2%5D%2F%2A%5Bself%3A%3Aauthor+or+self%3A%3Aeditor%5D%5B%40pid%3D%22123%22%5D%2Ffollowing-sibling%3A%3Abook%5Bnormalize-space%28text%28%29%29+%3D+%27', !3
         13        CONCAT                                           ~16     ~15, '%27%5D'
         14        ASSIGN                                                   !4, ~16
   25    15        INIT_METHOD_CALL                                         !2, 'query'
         16        SEND_VAR_EX                                              !4
         17        DO_FCALL                                      0  $18     
         18        ASSIGN                                                   !5, $18
   26    19        FETCH_OBJ_R                                      ~20     !5, 'length'
         20        ECHO                                                     ~20
   27    21      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
141.47 ms | 997 KiB | 13 Q