3v4l.org

run code in 300+ PHP versions simultaneously
<?php $xml=<<<XML <?xml version="1.0"?> <root> <type name="test"> <class name="CustomerProfileLite" inList="true" > <enum name="Order" takeOtherValuesFromProperties="true"> <value>None</value> </enum> <property name="Guid" type="guid" /> <property name="CreationDate" type="datetime" isInEnum="true" /> <property name="LastUpdateDate" type="datetime" isIndexed="true" isInEnum="true" /> <property name="Revision" type="int" isIndexed="true" isInEnum="true" /> <property name="Thumbnail" type="string" convertToRelativePathInDB="true" /> <property name="UmsJob" type="string" isIndexed="true"/> <property name="FirstName" type="string" isIndexed="true" isInEnum="true" /> <property name="LastName" type="string" isIndexed="true" isInEnum="true" /> <property name="Address" type="string" isInEnum="true" /> <property name="City" type="string" isInEnum="true" /> <property name="PhoneNumber" type="string" isIndexed="true" isInEnum="true" /> <property name="CellPhoneNumber" type="string" isIndexed="true" isInEnum="true" /> <property name="Birthdate" type="OptionalDateTime" isInEnum="true" /> <property name="HasFrames" type="bool" /> <property name="LatestEquipementHasFarVisionBoxings" type="bool" /> <property name="LatestEquipementHasFarVisionImages" type="bool" /> <property name="LatestEquipementHasSplines" type="bool" /> <property name="LatestEquipementHasIpadMeasure" type="bool" /> <sattribute name="IsModified" type="bool" /> <sattribute name="LastModificationDate" type="datetime" /> </class> </type> </root> XML; $dom=simplexml_load_string($xml); foreach($dom->xpath("//class") as $class) { echo (string)$class["name"]; echo "\n"; foreach($class->property as $property) { echo (string)$property["name"]; echo "\t"; echo (string)$property["type"]; echo "\n"; } } foreach($dom->xpath("//enum") as $enum) { echo (string)$enum["name"]; echo "\t"; echo (string)$enum->value; }
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 9, Position 2 = 28
Branch analysis from position: 9
2 jumps found. (Code = 78) Position 1 = 10, Position 2 = 28
Branch analysis from position: 10
2 jumps found. (Code = 77) Position 1 = 16, Position 2 = 26
Branch analysis from position: 16
2 jumps found. (Code = 78) Position 1 = 17, Position 2 = 26
Branch analysis from position: 17
1 jumps found. (Code = 42) Position 1 = 16
Branch analysis from position: 16
Branch analysis from position: 26
1 jumps found. (Code = 42) Position 1 = 9
Branch analysis from position: 9
Branch analysis from position: 26
Branch analysis from position: 28
2 jumps found. (Code = 77) Position 1 = 33, Position 2 = 42
Branch analysis from position: 33
2 jumps found. (Code = 78) Position 1 = 34, Position 2 = 42
Branch analysis from position: 34
1 jumps found. (Code = 42) Position 1 = 33
Branch analysis from position: 33
Branch analysis from position: 42
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 42
Branch analysis from position: 28
filename:       /in/k29et
function name:  (null)
number of ops:  44
compiled vars:  !0 = $xml, !1 = $dom, !2 = $class, !3 = $property, !4 = $enum
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, '%3C%3Fxml+version%3D%221.0%22%3F%3E%0A%3Croot%3E%0A%3Ctype+name%3D%22test%22%3E%0A%3Cclass+name%3D%22CustomerProfileLite%22+inList%3D%22true%22+%3E%0A++++%3Cenum+name%3D%22Order%22+takeOtherValuesFromProperties%3D%22true%22%3E%0A++++++++%3Cvalue%3ENone%3C%2Fvalue%3E%0A++++%3C%2Fenum%3E%0A++++%3Cproperty+name%3D%22Guid%22+type%3D%22guid%22+%2F%3E%0A++++%3Cproperty+name%3D%22CreationDate%22+type%3D%22datetime%22+isInEnum%3D%22true%22+%2F%3E%0A++++%3Cproperty+name%3D%22LastUpdateDate%22+type%3D%22datetime%22+isIndexed%3D%22true%22+isInEnum%3D%22true%22+%2F%3E%0A++++%3Cproperty+name%3D%22Revision%22+type%3D%22int%22+isIndexed%3D%22true%22+isInEnum%3D%22true%22+%2F%3E%0A++++%3Cproperty+name%3D%22Thumbnail%22+type%3D%22string%22+convertToRelativePathInDB%3D%22true%22+%2F%3E%0A++++%3Cproperty+name%3D%22UmsJob%22+type%3D%22string%22+isIndexed%3D%22true%22%2F%3E%0A++++%3Cproperty+name%3D%22FirstName%22+type%3D%22string%22+isIndexed%3D%22true%22+isInEnum%3D%22true%22+%2F%3E%0A++++%3Cproperty+name%3D%22LastName%22+type%3D%22string%22+isIndexed%3D%22true%22+isInEnum%3D%22true%22+%2F%3E%0A++++%3Cproperty+name%3D%22Address%22+type%3D%22string%22+isInEnum%3D%22true%22+%2F%3E%0A++++%3Cproperty+name%3D%22City%22+type%3D%22string%22+isInEnum%3D%22true%22+%2F%3E%0A++++%3Cproperty+name%3D%22PhoneNumber%22+type%3D%22string%22+isIndexed%3D%22true%22+isInEnum%3D%22true%22+%2F%3E%0A++++%3Cproperty+name%3D%22CellPhoneNumber%22+type%3D%22string%22+isIndexed%3D%22true%22+isInEnum%3D%22true%22+%2F%3E%0A++++%3Cproperty+name%3D%22Birthdate%22+type%3D%22OptionalDateTime%22+isInEnum%3D%22true%22+%2F%3E%0A++++%3Cproperty+name%3D%22HasFrames%22+type%3D%22bool%22+%2F%3E%0A++++%3Cproperty+name%3D%22LatestEquipementHasFarVisionBoxings%22+type%3D%22bool%22+%2F%3E%0A++++%3Cproperty+name%3D%22LatestEquipementHasFarVisionImages%22+type%3D%22bool%22+%2F%3E%0A++++%3Cproperty+name%3D%22LatestEquipementHasSplines%22+type%3D%22bool%22+%2F%3E%0A++++%3Cproperty+name%3D%22LatestEquipementHasIpadMeasure%22+type%3D%22bool%22+%2F%3E%0A++++%3Csattribute+name%3D%22IsModified%22+type%3D%22bool%22+%2F%3E%0A++++%3Csattribute+name%3D%22LastModificationDate%22+type%3D%22datetime%22+%2F%3E%0A%3C%2Fclass%3E%0A%3C%2Ftype%3E%0A%3C%2Froot%3E'
   35     1        INIT_FCALL                                               'simplexml_load_string'
          2        SEND_VAR                                                 !0
          3        DO_ICALL                                         $6      
          4        ASSIGN                                                   !1, $6
   36     5        INIT_METHOD_CALL                                         !1, 'xpath'
          6        SEND_VAL_EX                                              '%2F%2Fclass'
          7        DO_FCALL                                      0  $8      
          8      > FE_RESET_R                                       $9      $8, ->28
          9    > > FE_FETCH_R                                               $9, !2, ->28
   38    10    >   FETCH_DIM_R                                      ~10     !2, 'name'
         11        CAST                                          6  ~11     ~10
         12        ECHO                                                     ~11
   39    13        ECHO                                                     '%0A'
   40    14        FETCH_OBJ_R                                      ~12     !2, 'property'
         15      > FE_RESET_R                                       $13     ~12, ->26
         16    > > FE_FETCH_R                                               $13, !3, ->26
   42    17    >   FETCH_DIM_R                                      ~14     !3, 'name'
         18        CAST                                          6  ~15     ~14
         19        ECHO                                                     ~15
   43    20        ECHO                                                     '%09'
   44    21        FETCH_DIM_R                                      ~16     !3, 'type'
         22        CAST                                          6  ~17     ~16
         23        ECHO                                                     ~17
   45    24        ECHO                                                     '%0A'
   40    25      > JMP                                                      ->16
         26    >   FE_FREE                                                  $13
   36    27      > JMP                                                      ->9
         28    >   FE_FREE                                                  $9
   48    29        INIT_METHOD_CALL                                         !1, 'xpath'
         30        SEND_VAL_EX                                              '%2F%2Fenum'
         31        DO_FCALL                                      0  $18     
         32      > FE_RESET_R                                       $19     $18, ->42
         33    > > FE_FETCH_R                                               $19, !4, ->42
   50    34    >   FETCH_DIM_R                                      ~20     !4, 'name'
         35        CAST                                          6  ~21     ~20
         36        ECHO                                                     ~21
   51    37        ECHO                                                     '%09'
   52    38        FETCH_OBJ_R                                      ~22     !4, 'value'
         39        CAST                                          6  ~23     ~22
         40        ECHO                                                     ~23
   48    41      > JMP                                                      ->33
         42    >   FE_FREE                                                  $19
   53    43      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
177.53 ms | 1431 KiB | 14 Q