3v4l.org

run code in 300+ PHP versions simultaneously
<?php $xml = <<< EOT <?xml version='1.0' encoding='UTF-8'?> <char cp="0000" age="1.1" na="" JSN="" gc="Cc" ccc="0" dt="none" dm="#" nt="None" nv="NaN" bc="BN" bpt="n" bpb="#" Bidi_M="N" bmg="" suc="#" slc="#" stc="#" uc="#" lc="#" tc="#" scf="#" cf="#" jt="U" jg="No_Joining_Group" ea="N" lb="CM" sc="Zyyy" scx="Zyyy" Dash="N" WSpace="N" Hyphen="N" QMark="N" Radical="N" Ideo="N" UIdeo="N" IDSB="N" IDST="N" hst="NA" DI="N" ODI="N" Alpha="N" OAlpha="N" Upper="N" OUpper="N" Lower="N" OLower="N" Math="N" OMath="N" Hex="N" AHex="N" NChar="N" VS="N" Bidi_C="N" Join_C="N" Gr_Base="N" Gr_Ext="N" OGr_Ext="N" Gr_Link="N" STerm="N" Ext="N" Term="N" Dia="N" Dep="N" IDS="N" OIDS="N" XIDS="N" IDC="N" OIDC="N" XIDC="N" SD="N" LOE="N" Pat_WS="N" Pat_Syn="N" GCB="CN" WB="XX" SB="XX" CE="N" Comp_Ex="N" NFC_QC="Y" NFD_QC="Y" NFKC_QC="Y" NFKD_QC="Y" XO_NFC="N" XO_NFD="N" XO_NFKC="N" XO_NFKD="N" FC_NFKC="#" CI="N" Cased="N" CWCF="N" CWCM="N" CWKCF="N" CWL="N" CWT="N" CWU="N" NFKC_CF="#" InSC="Other" InMC="NA" blk="ASCII" isc="" na1="NULL"> <namealias alias="NUL" type="abbreviation" /> <namealias alias="NULL" type="control" /> </char> EOT; $simpleXML = simplexml_load_string($xml); // Load XML string data into the simplexml object parser foreach ($simpleXML->result->rowset->row as $row) { $titles = []; $name = $row['name']->__toString(); foreach($row as $attrib){ if($attrib['name']->__toString() === 'titles'){ foreach($attrib as $title){ $titles[] = $title['titleName']->__toString(); } } } echo $name . ' : ' . implode(' - ', $titles) . "<br/>\n"; }
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 9, Position 2 = 42
Branch analysis from position: 9
2 jumps found. (Code = 78) Position 1 = 10, Position 2 = 42
Branch analysis from position: 10
2 jumps found. (Code = 77) Position 1 = 16, Position 2 = 32
Branch analysis from position: 16
2 jumps found. (Code = 78) Position 1 = 17, Position 2 = 32
Branch analysis from position: 17
2 jumps found. (Code = 43) Position 1 = 22, Position 2 = 31
Branch analysis from position: 22
2 jumps found. (Code = 77) Position 1 = 23, Position 2 = 30
Branch analysis from position: 23
2 jumps found. (Code = 78) Position 1 = 24, Position 2 = 30
Branch analysis from position: 24
1 jumps found. (Code = 42) Position 1 = 23
Branch analysis from position: 23
Branch analysis from position: 30
1 jumps found. (Code = 42) Position 1 = 16
Branch analysis from position: 16
Branch analysis from position: 30
Branch analysis from position: 31
Branch analysis from position: 32
1 jumps found. (Code = 42) Position 1 = 9
Branch analysis from position: 9
Branch analysis from position: 32
Branch analysis from position: 42
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 42
filename:       /in/62Qv4
function name:  (null)
number of ops:  44
compiled vars:  !0 = $xml, !1 = $simpleXML, !2 = $row, !3 = $titles, !4 = $name, !5 = $attrib, !6 = $title
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, '%3C%3Fxml+version%3D%271.0%27+encoding%3D%27UTF-8%27%3F%3E%0A%09%3Cchar+cp%3D%220000%22+age%3D%221.1%22+na%3D%22%22+JSN%3D%22%22+gc%3D%22Cc%22+ccc%3D%220%22+dt%3D%22none%22%0A%09%09dm%3D%22%23%22+nt%3D%22None%22+nv%3D%22NaN%22+bc%3D%22BN%22+bpt%3D%22n%22+bpb%3D%22%23%22+Bidi_M%3D%22N%22+bmg%3D%22%22%0A%09%09suc%3D%22%23%22+slc%3D%22%23%22+stc%3D%22%23%22+uc%3D%22%23%22+lc%3D%22%23%22+tc%3D%22%23%22+scf%3D%22%23%22+cf%3D%22%23%22+jt%3D%22U%22%0A%09%09jg%3D%22No_Joining_Group%22+ea%3D%22N%22+lb%3D%22CM%22+sc%3D%22Zyyy%22+scx%3D%22Zyyy%22+Dash%3D%22N%22%0A%09%09WSpace%3D%22N%22+Hyphen%3D%22N%22+QMark%3D%22N%22+Radical%3D%22N%22+Ideo%3D%22N%22+UIdeo%3D%22N%22+IDSB%3D%22N%22%0A%09%09IDST%3D%22N%22+hst%3D%22NA%22+DI%3D%22N%22+ODI%3D%22N%22+Alpha%3D%22N%22+OAlpha%3D%22N%22+Upper%3D%22N%22%0A%09%09OUpper%3D%22N%22+Lower%3D%22N%22+OLower%3D%22N%22+Math%3D%22N%22+OMath%3D%22N%22+Hex%3D%22N%22+AHex%3D%22N%22%0A%09%09NChar%3D%22N%22+VS%3D%22N%22+Bidi_C%3D%22N%22+Join_C%3D%22N%22+Gr_Base%3D%22N%22+Gr_Ext%3D%22N%22+OGr_Ext%3D%22N%22%0A%09%09Gr_Link%3D%22N%22+STerm%3D%22N%22+Ext%3D%22N%22+Term%3D%22N%22+Dia%3D%22N%22+Dep%3D%22N%22+IDS%3D%22N%22+OIDS%3D%22N%22%0A%09%09XIDS%3D%22N%22+IDC%3D%22N%22+OIDC%3D%22N%22+XIDC%3D%22N%22+SD%3D%22N%22+LOE%3D%22N%22+Pat_WS%3D%22N%22+Pat_Syn%3D%22N%22%0A%09%09GCB%3D%22CN%22+WB%3D%22XX%22+SB%3D%22XX%22+CE%3D%22N%22+Comp_Ex%3D%22N%22+NFC_QC%3D%22Y%22+NFD_QC%3D%22Y%22%0A%09%09NFKC_QC%3D%22Y%22+NFKD_QC%3D%22Y%22+XO_NFC%3D%22N%22+XO_NFD%3D%22N%22+XO_NFKC%3D%22N%22+XO_NFKD%3D%22N%22%0A%09%09FC_NFKC%3D%22%23%22+CI%3D%22N%22+Cased%3D%22N%22+CWCF%3D%22N%22+CWCM%3D%22N%22+CWKCF%3D%22N%22+CWL%3D%22N%22+CWT%3D%22N%22%0A%09%09CWU%3D%22N%22+NFKC_CF%3D%22%23%22+InSC%3D%22Other%22+InMC%3D%22NA%22+blk%3D%22ASCII%22+isc%3D%22%22+na1%3D%22NULL%22%3E%0A%09%09%3Cnamealias+alias%3D%22NUL%22+type%3D%22abbreviation%22+%2F%3E%0A%09%09%3Cnamealias+alias%3D%22NULL%22+type%3D%22control%22+%2F%3E%0A%09%3C%2Fchar%3E'
   23     1        INIT_FCALL                                               'simplexml_load_string'
          2        SEND_VAR                                                 !0
          3        DO_ICALL                                         $8      
          4        ASSIGN                                                   !1, $8
   25     5        FETCH_OBJ_R                                      ~10     !1, 'result'
          6        FETCH_OBJ_R                                      ~11     ~10, 'rowset'
          7        FETCH_OBJ_R                                      ~12     ~11, 'row'
          8      > FE_RESET_R                                       $13     ~12, ->42
          9    > > FE_FETCH_R                                               $13, !2, ->42
   26    10    >   ASSIGN                                                   !3, <array>
   27    11        FETCH_DIM_R                                      ~15     !2, 'name'
         12        INIT_METHOD_CALL                                         ~15, '__toString'
         13        DO_FCALL                                      0  $16     
         14        ASSIGN                                                   !4, $16
   28    15      > FE_RESET_R                                       $18     !2, ->32
         16    > > FE_FETCH_R                                               $18, !5, ->32
   29    17    >   FETCH_DIM_R                                      ~19     !5, 'name'
         18        INIT_METHOD_CALL                                         ~19, '__toString'
         19        DO_FCALL                                      0  $20     
         20        IS_IDENTICAL                                             $20, 'titles'
         21      > JMPZ                                                     ~21, ->31
   30    22    > > FE_RESET_R                                       $22     !5, ->30
         23    > > FE_FETCH_R                                               $22, !6, ->30
   31    24    >   FETCH_DIM_R                                      ~24     !6, 'titleName'
         25        INIT_METHOD_CALL                                         ~24, '__toString'
         26        DO_FCALL                                      0  $25     
         27        ASSIGN_DIM                                               !3
         28        OP_DATA                                                  $25
   30    29      > JMP                                                      ->23
         30    >   FE_FREE                                                  $22
   28    31    > > JMP                                                      ->16
         32    >   FE_FREE                                                  $18
   35    33        CONCAT                                           ~26     !4, '+%3A+'
         34        INIT_FCALL                                               'implode'
         35        SEND_VAL                                                 '+-+'
         36        SEND_VAR                                                 !3
         37        DO_ICALL                                         $27     
         38        CONCAT                                           ~28     ~26, $27
         39        CONCAT                                           ~29     ~28, '%3Cbr%2F%3E%0A'
         40        ECHO                                                     ~29
   25    41      > JMP                                                      ->9
         42    >   FE_FREE                                                  $13
   36    43      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
154.55 ms | 1400 KiB | 17 Q