3v4l.org

run code in 300+ PHP versions simultaneously
<?php $response = simplexml_load_string('<?xml version="1.0" encoding="UTF-8"?> <methodResponse> <params> <param> <value> <struct> <member> <name>mainKeyNumber</name> <value>PLSK.10009166.0000</value> </member> <member> <name>expirationDate</name> <value> <dateTime.iso8601>20121229T00:00:00</dateTime.iso8601> </value> </member> <member> <name>productKey</name> <value>A01E00-BYEY10-H0F200-6QFP91-NHF966</value> </member> <member> <name>additionalKeysNumbers</name> <value> <array> <data> <value>KAV.10009167.0000</value> <value>APS.10009168.0000</value> <value>KAV.10009169.0000</value> </data> </array> </value> </member> <member> <name>resultCode</name> <value> <int>100</int> </value> </member> <member> <name>resultDesc</name> <value>PLSK.10009166.0000 has been successfully created. Following additional keys were attached: KAV.10009167.0000, APS.10009168.0000, KAV.10009169.0000.</value> </member> <member> <name>updateDate</name> <value> <dateTime.iso8601>20121219T00:00:00</dateTime.iso8601> </value> </member> </struct> </value> </param> </params> </methodResponse>'); $element = $response->params->param->value->struct->member[3]->value->array->data; foreach ($element->value as $val) { list ($type, $value) = each ($val); var_dump($type); var_dump($value); var_dump($val); }
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 16, Position 2 = 35
Branch analysis from position: 16
2 jumps found. (Code = 78) Position 1 = 17, Position 2 = 35
Branch analysis from position: 17
1 jumps found. (Code = 42) Position 1 = 16
Branch analysis from position: 16
Branch analysis from position: 35
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 35
filename:       /in/T3JMN
function name:  (null)
number of ops:  37
compiled vars:  !0 = $response, !1 = $element, !2 = $val, !3 = $type, !4 = $value
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   INIT_FCALL                                               'simplexml_load_string'
          1        SEND_VAL                                                 '%3C%3Fxml+version%3D%221.0%22+encoding%3D%22UTF-8%22%3F%3E%0A%3CmethodResponse%3E%0A++++%3Cparams%3E%0A++++++++%3Cparam%3E%0A++++++++++++%3Cvalue%3E%0A++++++++++++++++%3Cstruct%3E%0A++++++++++++++++++++%3Cmember%3E%0A++++++++++++++++++++++++%3Cname%3EmainKeyNumber%3C%2Fname%3E%0A++++++++++++++++++++++++%3Cvalue%3EPLSK.10009166.0000%3C%2Fvalue%3E%0A++++++++++++++++++++%3C%2Fmember%3E%0A++++++++++++++++++++%3Cmember%3E%0A++++++++++++++++++++++++%3Cname%3EexpirationDate%3C%2Fname%3E%0A++++++++++++++++++++++++%3Cvalue%3E%0A++++++++++++++++++++++++++++%3CdateTime.iso8601%3E20121229T00%3A00%3A00%3C%2FdateTime.iso8601%3E%0A++++++++++++++++++++++++%3C%2Fvalue%3E%0A++++++++++++++++++++%3C%2Fmember%3E%0A++++++++++++++++++++%3Cmember%3E%0A++++++++++++++++++++++++%3Cname%3EproductKey%3C%2Fname%3E%0A++++++++++++++++++++++++%3Cvalue%3EA01E00-BYEY10-H0F200-6QFP91-NHF966%3C%2Fvalue%3E%0A++++++++++++++++++++%3C%2Fmember%3E%0A++++++++++++++++++++%3Cmember%3E%0A++++++++++++++++++++++++%3Cname%3EadditionalKeysNumbers%3C%2Fname%3E%0A++++++++++++++++++++++++%3Cvalue%3E%0A++++++++++++++++++++++++++++%3Carray%3E%0A++++++++++++++++++++++++++++++++%3Cdata%3E%0A++++++++++++++++++++++++++++++++++++%3Cvalue%3EKAV.10009167.0000%3C%2Fvalue%3E%0A++++++++++++++++++++++++++++++++++++%3Cvalue%3EAPS.10009168.0000%3C%2Fvalue%3E%0A++++++++++++++++++++++++++++++++++++%3Cvalue%3EKAV.10009169.0000%3C%2Fvalue%3E%0A++++++++++++++++++++++++++++++++%3C%2Fdata%3E%0A++++++++++++++++++++++++++++%3C%2Farray%3E%0A++++++++++++++++++++++++%3C%2Fvalue%3E%0A++++++++++++++++++++%3C%2Fmember%3E%0A++++++++++++++++++++%3Cmember%3E%0A++++++++++++++++++++++++%3Cname%3EresultCode%3C%2Fname%3E%0A++++++++++++++++++++++++%3Cvalue%3E%0A++++++++++++++++++++++++++++%3Cint%3E100%3C%2Fint%3E%0A++++++++++++++++++++++++%3C%2Fvalue%3E%0A++++++++++++++++++++%3C%2Fmember%3E%0A++++++++++++++++++++%3Cmember%3E%0A++++++++++++++++++++++++%3Cname%3EresultDesc%3C%2Fname%3E%0A++++++++++++++++++++++++%3Cvalue%3EPLSK.10009166.0000+has+been+successfully+created.+Following+additional+keys+were+attached%3A+KAV.10009167.0000%2C+APS.10009168.0000%2C+KAV.10009169.0000.%3C%2Fvalue%3E%0A++++++++++++++++++++%3C%2Fmember%3E%0A++++++++++++++++++++%3Cmember%3E%0A++++++++++++++++++++++++%3Cname%3EupdateDate%3C%2Fname%3E%0A++++++++++++++++++++++++%3Cvalue%3E%0A++++++++++++++++++++++++++++%3CdateTime.iso8601%3E20121219T00%3A00%3A00%3C%2FdateTime.iso8601%3E%0A++++++++++++++++++++++++%3C%2Fvalue%3E%0A++++++++++++++++++++%3C%2Fmember%3E%0A++++++++++++++++%3C%2Fstruct%3E%0A++++++++++++%3C%2Fvalue%3E%0A++++++++%3C%2Fparam%3E%0A++++%3C%2Fparams%3E%0A%3C%2FmethodResponse%3E'
          2        DO_ICALL                                         $5      
          3        ASSIGN                                                   !0, $5
   56     4        FETCH_OBJ_R                                      ~7      !0, 'params'
          5        FETCH_OBJ_R                                      ~8      ~7, 'param'
          6        FETCH_OBJ_R                                      ~9      ~8, 'value'
          7        FETCH_OBJ_R                                      ~10     ~9, 'struct'
          8        FETCH_OBJ_R                                      ~11     ~10, 'member'
          9        FETCH_DIM_R                                      ~12     ~11, 3
         10        FETCH_OBJ_R                                      ~13     ~12, 'value'
         11        FETCH_OBJ_R                                      ~14     ~13, 'array'
         12        FETCH_OBJ_R                                      ~15     ~14, 'data'
         13        ASSIGN                                                   !1, ~15
   57    14        FETCH_OBJ_R                                      ~17     !1, 'value'
         15      > FE_RESET_R                                       $18     ~17, ->35
         16    > > FE_FETCH_R                                               $18, !2, ->35
   58    17    >   INIT_FCALL_BY_NAME                                       'each'
         18        SEND_VAR_EX                                              !2
         19        DO_FCALL                                      0  $19     
         20        FETCH_LIST_R                                     $20     $19, 0
         21        ASSIGN                                                   !3, $20
         22        FETCH_LIST_R                                     $22     $19, 1
         23        ASSIGN                                                   !4, $22
         24        FREE                                                     $19
   59    25        INIT_FCALL                                               'var_dump'
         26        SEND_VAR                                                 !3
         27        DO_ICALL                                                 
   60    28        INIT_FCALL                                               'var_dump'
         29        SEND_VAR                                                 !4
         30        DO_ICALL                                                 
   61    31        INIT_FCALL                                               'var_dump'
         32        SEND_VAR                                                 !2
         33        DO_ICALL                                                 
   57    34      > JMP                                                      ->16
         35    >   FE_FREE                                                  $18
   62    36      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
163.08 ms | 1400 KiB | 20 Q