3v4l.org

run code in 300+ PHP versions simultaneously
<?php $source = <<<SOURCE <table> <tbody> <tr> <td> <div>Difficult</div> </td> <td>Name</td> <td> Open </td> </tr> <tr> <td> <div>Easy</div> </td> <td>Name</td> <td> Closed </td> </tr> <tr> <td> <div>Easy</div> </td> <td>Name</td> <td> Open </td> </tr> <tr> <td> <div>Medium</div> </td> <td>Name</td> <td>Open </td> </tr> <tr> <td> <div>Easy</div> </td> <td>Name</td> <td> Open </td> </tr> <tr> <td> <div>Medium</div> </td> <td>Name</td> <td> Closed</td> </tr> <tr> <td> <div>Easy</div> </td> <td>Name</td> <td>Closed </td> </tr> <tr> <td> <div>Not-wanted</div> </td> <td>Name</td> <td> Open </td> </tr> <tr> <td> <div>Difficult</div> </td> <td>Name</td> <td>Open</td> </tr> </tbody> </table> SOURCE; $doc = new DOMDocument(); $doc->loadHTML($source); $doc->preserveWhiteSpace = false; $xpath = new DOMXPath($doc); $elements = $xpath->query("//table/tbody/tr[normalize-space(td[3]/text()) = 'Open' and td[1]/div/text() != 'Not-wanted']"); echo $elements->length;
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/rJhea
function name:  (null)
number of ops:  20
compiled vars:  !0 = $source, !1 = $doc, !2 = $xpath, !3 = $elements
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                   !0, '%3Ctable%3E%0A++++%3Ctbody%3E%0A++++++++%3Ctr%3E%0A++++++++++++%3Ctd%3E%0A++++++++++++++++%3Cdiv%3EDifficult%3C%2Fdiv%3E%0A++++++++++++%3C%2Ftd%3E%0A++++++++++++%3Ctd%3EName%3C%2Ftd%3E%0A++++++++++++%3Ctd%3E++Open+%3C%2Ftd%3E%0A++++++++%3C%2Ftr%3E%0A++++++++%3Ctr%3E%0A++++++++++++%3Ctd%3E%0A++++++++++++++++%3Cdiv%3EEasy%3C%2Fdiv%3E%0A++++++++++++%3C%2Ftd%3E%0A++++++++++++%3Ctd%3EName%3C%2Ftd%3E%0A++++++++++++%3Ctd%3E+Closed++%3C%2Ftd%3E%0A++++++++%3C%2Ftr%3E%0A++++++++%3Ctr%3E%0A++++++++++++%3Ctd%3E%0A++++++++++++++++%3Cdiv%3EEasy%3C%2Fdiv%3E%0A++++++++++++%3C%2Ftd%3E%0A++++++++++++%3Ctd%3EName%3C%2Ftd%3E%0A++++++++++++%3Ctd%3E+++Open+++%3C%2Ftd%3E%0A++++++++%3C%2Ftr%3E%0A++++++++%3Ctr%3E%0A++++++++++++%3Ctd%3E%0A++++++++++++++++%3Cdiv%3EMedium%3C%2Fdiv%3E%0A++++++++++++%3C%2Ftd%3E%0A++++++++++++%3Ctd%3EName%3C%2Ftd%3E%0A++++++++++++%3Ctd%3EOpen+%3C%2Ftd%3E%0A++++++++%3C%2Ftr%3E%0A++++++++%3Ctr%3E%0A++++++++++++%3Ctd%3E%0A++++++++++++++++%3Cdiv%3EEasy%3C%2Fdiv%3E%0A++++++++++++%3C%2Ftd%3E%0A++++++++++++%3Ctd%3EName%3C%2Ftd%3E%0A++++++++++++%3Ctd%3E+Open+++++%3C%2Ftd%3E%0A++++++++%3C%2Ftr%3E%0A++++++++%3Ctr%3E%0A++++++++++++%3Ctd%3E%0A++++++++++++++++%3Cdiv%3EMedium%3C%2Fdiv%3E%0A++++++++++++%3C%2Ftd%3E%0A++++++++++++%3Ctd%3EName%3C%2Ftd%3E%0A++++++++++++%3Ctd%3E++Closed%3C%2Ftd%3E%0A++++++++%3C%2Ftr%3E%0A++++++++%3Ctr%3E%0A++++++++++++%3Ctd%3E%0A++++++++++++++++%3Cdiv%3EEasy%3C%2Fdiv%3E%0A++++++++++++%3C%2Ftd%3E%0A++++++++++++%3Ctd%3EName%3C%2Ftd%3E%0A++++++++++++%3Ctd%3EClosed+%3C%2Ftd%3E%0A++++++++%3C%2Ftr%3E%0A++++++++%3Ctr%3E%0A++++++++++++%3Ctd%3E%0A++++++++++++++++%3Cdiv%3ENot-wanted%3C%2Fdiv%3E%0A++++++++++++%3C%2Ftd%3E%0A++++++++++++%3Ctd%3EName%3C%2Ftd%3E%0A++++++++++++%3Ctd%3E+Open+%3C%2Ftd%3E%0A++++++++%3C%2Ftr%3E%0A++++++++%3Ctr%3E%0A++++++++++++%3Ctd%3E%0A++++++++++++++++%3Cdiv%3EDifficult%3C%2Fdiv%3E%0A++++++++++++%3C%2Ftd%3E%0A++++++++++++%3Ctd%3EName%3C%2Ftd%3E%0A++++++++++++%3Ctd%3EOpen%3C%2Ftd%3E%0A++++++++%3C%2Ftr%3E%0A++++%3C%2Ftbody%3E%0A%3C%2Ftable%3E'
   73     1        NEW                                              $5      'DOMDocument'
          2        DO_FCALL                                      0          
          3        ASSIGN                                                   !1, $5
   74     4        INIT_METHOD_CALL                                         !1, 'loadHTML'
          5        SEND_VAR_EX                                              !0
          6        DO_FCALL                                      0          
   75     7        ASSIGN_OBJ                                               !1, 'preserveWhiteSpace'
          8        OP_DATA                                                  <false>
   76     9        NEW                                              $10     'DOMXPath'
         10        SEND_VAR_EX                                              !1
         11        DO_FCALL                                      0          
         12        ASSIGN                                                   !2, $10
   77    13        INIT_METHOD_CALL                                         !2, 'query'
         14        SEND_VAL_EX                                              '%2F%2Ftable%2Ftbody%2Ftr%5Bnormalize-space%28td%5B3%5D%2Ftext%28%29%29+%3D+%27Open%27+and+td%5B1%5D%2Fdiv%2Ftext%28%29+%21%3D+%27Not-wanted%27%5D'
         15        DO_FCALL                                      0  $13     
         16        ASSIGN                                                   !3, $13
   78    17        FETCH_OBJ_R                                      ~15     !3, 'length'
         18        ECHO                                                     ~15
         19      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
141.86 ms | 1012 KiB | 13 Q