3v4l.org

run code in 300+ PHP versions simultaneously
<?php $xml = <<<XML <?xml version="1.0" encoding="UTF-8"?> <products> <product> <name>Final Fantasy VII</name> <desc>Den Rollenspiel-Klassiker FINAL FANTASY VII gibt es jetzt für den PC, mit brandneuen Online-Features!</desc> <price>11.69</price> <price_base>12.99</price_base> <link>https://de.steam.com/game/final-fantasy-vii-download--1001-1</link> <publisher>Eidos - Square Enix</publisher> <category>RPG (Rollenspiel)</category> <ean/> <packshot>https://de.gamesplanet.com/acache/10/01/1/de/packshot-770bf6d03800b87dc0f9509f21e8d423.jpg</packshot> </product> <product> <name>Final Fantasy VII</name> <desc>Den Rollenspiel-Klassiker FINAL FANTASY VII gibt es jetzt für den PC, mit brandneuen Online-Features!</desc> <price>11.69</price> <price_base>12.99</price_base> <link>https://de.gamesplanet.com/game/final-fantasy-vii-download--1001-1</link> <publisher>Eidos - Square Enix</publisher> <category>RPG (Rollenspiel)</category> <ean/> <packshot>https://de.gamesplanet.com/acache/10/01/1/de/packshot-770bf6d03800b87dc0f9509f21e8d423.jpg</packshot> </product> <product> <name>Final Fantasy VII</name> <desc>Den Rollenspiel-Klassiker steam FINAL FANTASY VII gibt es jetzt für den PC, mit brandneuen Online-Features!</desc> <price>11.69</price> <price_base>12.99</price_base> <link>https://de.gamesplanet.com/game/final-fantasy-vii-download--1001-1</link> <publisher>Eidos - Square Enix</publisher> <category>RPG (Rollenspiel)</category> <ean/> <packshot>https://de.gamesplanet.com/acache/10/01/1/de/packshot-770bf6d03800b87dc0f9509f21e8d423.jpg</packshot> </product> </products> XML; $gamesplanetPath = 'data/gamesplanet.xml'; $kinguinPath = 'data/kinguin.xml'; $onlinekeystorePath = 'data/onlinekeystore.xml'; $g2aPath = 'data/g2a.xml'; function countAd($xml){ $dom = new DOMDocument('1.0', 'utf-8'); $dom->preserveWhiteSpace = false; $dom->formatOutput = true; $dom->loadXML($xml); $counter = 0; $root = $dom->documentElement; $marker = $root->getElementsByTagName('name'); for($i = $marker->length - 1; $i >= 0 ; $i--){ $counter = $counter + 1 ; } echo "Products: " . $counter ."\n"; } countAd($xml);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/sRJ4G
function name:  (null)
number of ops:  9
compiled vars:  !0 = $xml, !1 = $gamesplanetPath, !2 = $kinguinPath, !3 = $onlinekeystorePath, !4 = $g2aPath
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                   !0, '%3C%3Fxml+version%3D%221.0%22+encoding%3D%22UTF-8%22%3F%3E%0A++++%3Cproducts%3E%0A++++++%3Cproduct%3E%0A++++++++%3Cname%3EFinal+Fantasy+VII%3C%2Fname%3E%0A++++++++%3Cdesc%3EDen+Rollenspiel-Klassiker+FINAL+FANTASY+VII+gibt+es+jetzt+f%C3%BCr+den+PC%2C+mit+brandneuen+Online-Features%21%3C%2Fdesc%3E%0A++++++++%3Cprice%3E11.69%3C%2Fprice%3E%0A++++++++%3Cprice_base%3E12.99%3C%2Fprice_base%3E%0A++++++++%3Clink%3Ehttps%3A%2F%2Fde.steam.com%2Fgame%2Ffinal-fantasy-vii-download--1001-1%3C%2Flink%3E%0A++++++++%3Cpublisher%3EEidos+-+Square+Enix%3C%2Fpublisher%3E%0A++++++++%3Ccategory%3ERPG+%28Rollenspiel%29%3C%2Fcategory%3E%0A++++++++%3Cean%2F%3E%0A++++++++%3Cpackshot%3Ehttps%3A%2F%2Fde.gamesplanet.com%2Facache%2F10%2F01%2F1%2Fde%2Fpackshot-770bf6d03800b87dc0f9509f21e8d423.jpg%3C%2Fpackshot%3E%0A++++++%3C%2Fproduct%3E%0A++++++++++++%3Cproduct%3E%0A++++++++%3Cname%3EFinal+Fantasy+VII%3C%2Fname%3E%0A++++++++%3Cdesc%3EDen+Rollenspiel-Klassiker+FINAL+FANTASY+VII+gibt+es+jetzt+f%C3%BCr+den+PC%2C+mit+brandneuen+Online-Features%21%3C%2Fdesc%3E%0A++++++++%3Cprice%3E11.69%3C%2Fprice%3E%0A++++++++%3Cprice_base%3E12.99%3C%2Fprice_base%3E%0A++++++++%3Clink%3Ehttps%3A%2F%2Fde.gamesplanet.com%2Fgame%2Ffinal-fantasy-vii-download--1001-1%3C%2Flink%3E%0A++++++++%3Cpublisher%3EEidos+-+Square+Enix%3C%2Fpublisher%3E%0A++++++++%3Ccategory%3ERPG+%28Rollenspiel%29%3C%2Fcategory%3E%0A++++++++%3Cean%2F%3E%0A++++++++%3Cpackshot%3Ehttps%3A%2F%2Fde.gamesplanet.com%2Facache%2F10%2F01%2F1%2Fde%2Fpackshot-770bf6d03800b87dc0f9509f21e8d423.jpg%3C%2Fpackshot%3E%0A++++++%3C%2Fproduct%3E%0A++++++%3Cproduct%3E%0A++++++++%3Cname%3EFinal+Fantasy+VII%3C%2Fname%3E%0A++++++++%3Cdesc%3EDen+Rollenspiel-Klassiker+steam+FINAL+FANTASY+VII+gibt+es+jetzt+f%C3%BCr+den+PC%2C+mit+brandneuen+Online-Features%21%3C%2Fdesc%3E%0A++++++++%3Cprice%3E11.69%3C%2Fprice%3E%0A++++++++%3Cprice_base%3E12.99%3C%2Fprice_base%3E%0A++++++++%3Clink%3Ehttps%3A%2F%2Fde.gamesplanet.com%2Fgame%2Ffinal-fantasy-vii-download--1001-1%3C%2Flink%3E%0A++++++++%3Cpublisher%3EEidos+-+Square+Enix%3C%2Fpublisher%3E%0A++++++++%3Ccategory%3ERPG+%28Rollenspiel%29%3C%2Fcategory%3E%0A++++++++%3Cean%2F%3E%0A++++++++%3Cpackshot%3Ehttps%3A%2F%2Fde.gamesplanet.com%2Facache%2F10%2F01%2F1%2Fde%2Fpackshot-770bf6d03800b87dc0f9509f21e8d423.jpg%3C%2Fpackshot%3E%0A++++++%3C%2Fproduct%3E%0A++++%3C%2Fproducts%3E'
   42     1        ASSIGN                                                   !1, 'data%2Fgamesplanet.xml'
   43     2        ASSIGN                                                   !2, 'data%2Fkinguin.xml'
   44     3        ASSIGN                                                   !3, 'data%2Fonlinekeystore.xml'
   45     4        ASSIGN                                                   !4, 'data%2Fg2a.xml'
   64     5        INIT_FCALL                                               'countad'
          6        SEND_VAR                                                 !0
          7        DO_FCALL                                      0          
          8      > RETURN                                                   1

Function countad:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 27
Branch analysis from position: 27
2 jumps found. (Code = 44) Position 1 = 29, Position 2 = 24
Branch analysis from position: 29
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 24
2 jumps found. (Code = 44) Position 1 = 29, Position 2 = 24
Branch analysis from position: 29
Branch analysis from position: 24
filename:       /in/sRJ4G
function name:  countAd
number of ops:  33
compiled vars:  !0 = $xml, !1 = $dom, !2 = $counter, !3 = $root, !4 = $marker, !5 = $i
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   47     0  E >   RECV                                             !0      
   48     1        NEW                                              $6      'DOMDocument'
          2        SEND_VAL_EX                                              '1.0'
          3        SEND_VAL_EX                                              'utf-8'
          4        DO_FCALL                                      0          
          5        ASSIGN                                                   !1, $6
   49     6        ASSIGN_OBJ                                               !1, 'preserveWhiteSpace'
          7        OP_DATA                                                  <false>
   50     8        ASSIGN_OBJ                                               !1, 'formatOutput'
          9        OP_DATA                                                  <true>
   51    10        INIT_METHOD_CALL                                         !1, 'loadXML'
         11        SEND_VAR_EX                                              !0
         12        DO_FCALL                                      0          
   53    13        ASSIGN                                                   !2, 0
   54    14        FETCH_OBJ_R                                      ~13     !1, 'documentElement'
         15        ASSIGN                                                   !3, ~13
   56    16        INIT_METHOD_CALL                                         !3, 'getElementsByTagName'
         17        SEND_VAL_EX                                              'name'
         18        DO_FCALL                                      0  $15     
         19        ASSIGN                                                   !4, $15
   57    20        FETCH_OBJ_R                                      ~17     !4, 'length'
         21        SUB                                              ~18     ~17, 1
         22        ASSIGN                                                   !5, ~18
         23      > JMP                                                      ->27
   58    24    >   ADD                                              ~20     !2, 1
         25        ASSIGN                                                   !2, ~20
   57    26        PRE_DEC                                                  !5
         27    >   IS_SMALLER_OR_EQUAL                                      0, !5
         28      > JMPNZ                                                    ~23, ->24
   61    29    >   CONCAT                                           ~24     'Products%3A+', !2
         30        CONCAT                                           ~25     ~24, '%0A'
         31        ECHO                                                     ~25
   62    32      > RETURN                                                   null

End of function countad

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
147.26 ms | 1008 KiB | 14 Q