3v4l.org

run code in 300+ PHP versions simultaneously
<?php // Bug report: https://phabricator.wikimedia.org/T250568 // // Source code: // https://gerrit.wikimedia.org/g/mediawiki/core/+/e839aaae0f52bfc03f609776d8493f2d83a79a06/tests/phpunit/includes/ExportTest.php#41 $sink = <<<TEXT <mediawiki xmlns="http://www.mediawiki.org/xml/export-0.11/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mediawiki.org/xml/export-0.11/ http://www.mediawiki.org/xml/export-0.11.xsd" version="0.11" xml:lang="en"> <siteinfo> <sitename>docker-default</sitename> <dbname>default</dbname> <base>http://default.web.mw.localhost:80/mediawiki/index.php/Main_Page</base> <generator>MediaWiki 1.35.0-alpha</generator> <case>first-letter</case> <namespaces> <namespace key="-2" case="first-letter">Media</namespace> <namespace key="-1" case="first-letter">Special</namespace> <namespace key="0" case="first-letter" /> <namespace key="1" case="first-letter">Talk</namespace> <namespace key="2" case="first-letter">User</namespace> <namespace key="3" case="first-letter">User talk</namespace> <namespace key="4" case="first-letter">Project</namespace> <namespace key="5" case="first-letter">Project talk</namespace> <namespace key="6" case="first-letter">File</namespace> <namespace key="7" case="first-letter">File talk</namespace> <namespace key="8" case="first-letter">MediaWiki</namespace> <namespace key="9" case="first-letter">MediaWiki talk</namespace> <namespace key="10" case="first-letter">Template</namespace> <namespace key="11" case="first-letter">Template talk</namespace> <namespace key="12" case="first-letter">Help</namespace> <namespace key="13" case="first-letter">Help talk</namespace> <namespace key="14" case="first-letter">Category</namespace> <namespace key="15" case="first-letter">Category talk</namespace> <namespace key="2300" case="first-letter">Gadget</namespace> <namespace key="2301" case="first-letter">Gadget talk</namespace> <namespace key="2302" case="case-sensitive">Gadget definition</namespace> <namespace key="2303" case="case-sensitive">Gadget definition talk</namespace> </namespaces> </siteinfo> <page> <title>UTPage</title> <ns>0</ns> <id>1</id> <revision> <id>1</id> <timestamp>2020-04-30T21:38:27Z</timestamp> <contributor> <username>UTSysop</username> <id>1</id> </contributor> <comment>UTPageSummary</comment> <origin>1</origin> <model>wikitext</model> <format>text/x-wiki</format> <text bytes="9" sha1="aqhji8gcje5j0y511s7kgskw3dd6qua" xml:space="preserve">UTContent</text> <sha1>aqhji8gcje5j0y511s7kgskw3dd6qua</sha1> </revision> </page> </mediawiki> TEXT; $xmlObject = simplexml_load_string( $sink ); $xmlNamespaces = (array)$xmlObject->siteinfo->namespaces->namespace; $xmlNamespaces = str_replace( ' ', '_', $xmlNamespaces ); unset( $xmlNamespaces[ '@attributes' ] ); foreach ( $xmlNamespaces as &$namespaceObject ) { if ( is_object( $namespaceObject ) ) { $namespaceObject = ''; } } var_dump( $xmlNamespaces );
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 125) Position 1 = 18, Position 2 = 23
Branch analysis from position: 18
2 jumps found. (Code = 126) Position 1 = 19, Position 2 = 23
Branch analysis from position: 19
2 jumps found. (Code = 43) Position 1 = 21, Position 2 = 22
Branch analysis from position: 21
1 jumps found. (Code = 42) Position 1 = 18
Branch analysis from position: 18
Branch analysis from position: 22
Branch analysis from position: 23
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 23
filename:       /in/HtN9R
function name:  (null)
number of ops:  28
compiled vars:  !0 = $sink, !1 = $xmlObject, !2 = $xmlNamespaces, !3 = $namespaceObject
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    8     0  E >   ASSIGN                                                   !0, '%3Cmediawiki+xmlns%3D%22http%3A%2F%2Fwww.mediawiki.org%2Fxml%2Fexport-0.11%2F%22+xmlns%3Axsi%3D%22http%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema-instance%22+xsi%3AschemaLocation%3D%22http%3A%2F%2Fwww.mediawiki.org%2Fxml%2Fexport-0.11%2F+http%3A%2F%2Fwww.mediawiki.org%2Fxml%2Fexport-0.11.xsd%22+version%3D%220.11%22+xml%3Alang%3D%22en%22%3E%0A++%3Csiteinfo%3E%0A++++%3Csitename%3Edocker-default%3C%2Fsitename%3E%0A++++%3Cdbname%3Edefault%3C%2Fdbname%3E%0A++++%3Cbase%3Ehttp%3A%2F%2Fdefault.web.mw.localhost%3A80%2Fmediawiki%2Findex.php%2FMain_Page%3C%2Fbase%3E%0A++++%3Cgenerator%3EMediaWiki+1.35.0-alpha%3C%2Fgenerator%3E%0A++++%3Ccase%3Efirst-letter%3C%2Fcase%3E%0A++++%3Cnamespaces%3E%0A++++++%3Cnamespace+key%3D%22-2%22+case%3D%22first-letter%22%3EMedia%3C%2Fnamespace%3E%0A++++++%3Cnamespace+key%3D%22-1%22+case%3D%22first-letter%22%3ESpecial%3C%2Fnamespace%3E%0A++++++%3Cnamespace+key%3D%220%22+case%3D%22first-letter%22+%2F%3E%0A++++++%3Cnamespace+key%3D%221%22+case%3D%22first-letter%22%3ETalk%3C%2Fnamespace%3E%0A++++++%3Cnamespace+key%3D%222%22+case%3D%22first-letter%22%3EUser%3C%2Fnamespace%3E%0A++++++%3Cnamespace+key%3D%223%22+case%3D%22first-letter%22%3EUser+talk%3C%2Fnamespace%3E%0A++++++%3Cnamespace+key%3D%224%22+case%3D%22first-letter%22%3EProject%3C%2Fnamespace%3E%0A++++++%3Cnamespace+key%3D%225%22+case%3D%22first-letter%22%3EProject+talk%3C%2Fnamespace%3E%0A++++++%3Cnamespace+key%3D%226%22+case%3D%22first-letter%22%3EFile%3C%2Fnamespace%3E%0A++++++%3Cnamespace+key%3D%227%22+case%3D%22first-letter%22%3EFile+talk%3C%2Fnamespace%3E%0A++++++%3Cnamespace+key%3D%228%22+case%3D%22first-letter%22%3EMediaWiki%3C%2Fnamespace%3E%0A++++++%3Cnamespace+key%3D%229%22+case%3D%22first-letter%22%3EMediaWiki+talk%3C%2Fnamespace%3E%0A++++++%3Cnamespace+key%3D%2210%22+case%3D%22first-letter%22%3ETemplate%3C%2Fnamespace%3E%0A++++++%3Cnamespace+key%3D%2211%22+case%3D%22first-letter%22%3ETemplate+talk%3C%2Fnamespace%3E%0A++++++%3Cnamespace+key%3D%2212%22+case%3D%22first-letter%22%3EHelp%3C%2Fnamespace%3E%0A++++++%3Cnamespace+key%3D%2213%22+case%3D%22first-letter%22%3EHelp+talk%3C%2Fnamespace%3E%0A++++++%3Cnamespace+key%3D%2214%22+case%3D%22first-letter%22%3ECategory%3C%2Fnamespace%3E%0A++++++%3Cnamespace+key%3D%2215%22+case%3D%22first-letter%22%3ECategory+talk%3C%2Fnamespace%3E%0A++++++%3Cnamespace+key%3D%222300%22+case%3D%22first-letter%22%3EGadget%3C%2Fnamespace%3E%0A++++++%3Cnamespace+key%3D%222301%22+case%3D%22first-letter%22%3EGadget+talk%3C%2Fnamespace%3E%0A++++++%3Cnamespace+key%3D%222302%22+case%3D%22case-sensitive%22%3EGadget+definition%3C%2Fnamespace%3E%0A++++++%3Cnamespace+key%3D%222303%22+case%3D%22case-sensitive%22%3EGadget+definition+talk%3C%2Fnamespace%3E%0A++++%3C%2Fnamespaces%3E%0A++%3C%2Fsiteinfo%3E%0A++%3Cpage%3E%0A++++%3Ctitle%3EUTPage%3C%2Ftitle%3E%0A++++%3Cns%3E0%3C%2Fns%3E%0A++++%3Cid%3E1%3C%2Fid%3E%0A++++%3Crevision%3E%0A++++++%3Cid%3E1%3C%2Fid%3E%0A++++++%3Ctimestamp%3E2020-04-30T21%3A38%3A27Z%3C%2Ftimestamp%3E%0A++++++%3Ccontributor%3E%0A++++++++%3Cusername%3EUTSysop%3C%2Fusername%3E%0A++++++++%3Cid%3E1%3C%2Fid%3E%0A++++++%3C%2Fcontributor%3E%0A++++++%3Ccomment%3EUTPageSummary%3C%2Fcomment%3E%0A++++++%3Corigin%3E1%3C%2Forigin%3E%0A++++++%3Cmodel%3Ewikitext%3C%2Fmodel%3E%0A++++++%3Cformat%3Etext%2Fx-wiki%3C%2Fformat%3E%0A++++++%3Ctext+bytes%3D%229%22+sha1%3D%22aqhji8gcje5j0y511s7kgskw3dd6qua%22+xml%3Aspace%3D%22preserve%22%3EUTContent%3C%2Ftext%3E%0A++++++%3Csha1%3Eaqhji8gcje5j0y511s7kgskw3dd6qua%3C%2Fsha1%3E%0A++++%3C%2Frevision%3E%0A++%3C%2Fpage%3E%0A%3C%2Fmediawiki%3E'
   64     1        INIT_FCALL                                               'simplexml_load_string'
          2        SEND_VAR                                                 !0
          3        DO_ICALL                                         $5      
          4        ASSIGN                                                   !1, $5
   66     5        FETCH_OBJ_R                                      ~7      !1, 'siteinfo'
          6        FETCH_OBJ_R                                      ~8      ~7, 'namespaces'
          7        FETCH_OBJ_R                                      ~9      ~8, 'namespace'
          8        CAST                                          7  ~10     ~9
          9        ASSIGN                                                   !2, ~10
   67    10        INIT_FCALL                                               'str_replace'
         11        SEND_VAL                                                 '+'
         12        SEND_VAL                                                 '_'
         13        SEND_VAR                                                 !2
         14        DO_ICALL                                         $12     
         15        ASSIGN                                                   !2, $12
   68    16        UNSET_DIM                                                !2, '%40attributes'
   69    17      > FE_RESET_RW                                      $14     !2, ->23
         18    > > FE_FETCH_RW                                              $14, !3, ->23
   70    19    >   TYPE_CHECK                                  256          !3
         20      > JMPZ                                                     ~15, ->22
   71    21    >   ASSIGN                                                   !3, ''
   69    22    > > JMP                                                      ->18
         23    >   FE_FREE                                                  $14
   75    24        INIT_FCALL                                               'var_dump'
         25        SEND_VAR                                                 !2
         26        DO_ICALL                                                 
         27      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
170.04 ms | 1392 KiB | 19 Q