3v4l.org

run code in 300+ PHP versions simultaneously
<?php $start = microtime(true); $json_1 = '[{"MobileNo":"123"},{"MobileNo":"456"}]'; $json_2 = '[{"MobileNo":"07123456701"}]'; $multiple = json_decode($json_1, true); $xmlWriter = new XmlWriter(); $xmlWriter->openURI('php://output'); $xmlWriter->startDocument('1.0','UTF-8'); $xmlWriter->startElement('Msg'); $xmlWriter->startElement('JobId'); $xmlWriter->text('500'); $xmlWriter->endElement(); $xmlWriter->setIndent(true); foreach ($multiple as $mobile) { $xmlWriter->startElement('SubmitResult'); $xmlWriter->startElement('MobileNo'); $xmlWriter->text($mobile["MobileNo"]); $xmlWriter->endElement(); $xmlWriter->startElement('StatusId'); $xmlWriter->text(0); $xmlWriter->endElement(); $xmlWriter->startElement('StatusText'); $xmlWriter->text("Success: Message submitted successfully"); $xmlWriter->endElement(); $xmlWriter->endElement(); } $xmlWriter->endElement(); $xmlWriter->flush(); $stop = microtime(true); $seconds = $stop - $start; echo "Start: " . $start . PHP_EOL; echo "Stop: " . $stop . PHP_EOL; echo "Seconds: " . $seconds . PHP_EOL; echo "Memory peak: " . memory_get_peak_usage() / 1048576 . 'MB' . PHP_EOL;
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 36, Position 2 = 69
Branch analysis from position: 36
2 jumps found. (Code = 78) Position 1 = 37, Position 2 = 69
Branch analysis from position: 37
1 jumps found. (Code = 42) Position 1 = 36
Branch analysis from position: 36
Branch analysis from position: 69
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 69
filename:       /in/O8WkI
function name:  (null)
number of ops:  97
compiled vars:  !0 = $start, !1 = $json_1, !2 = $json_2, !3 = $multiple, !4 = $xmlWriter, !5 = $mobile, !6 = $stop, !7 = $seconds
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   INIT_FCALL                                               'microtime'
          1        SEND_VAL                                                 <true>
          2        DO_ICALL                                         $8      
          3        ASSIGN                                                   !0, $8
    4     4        ASSIGN                                                   !1, '%5B%7B%22MobileNo%22%3A%22123%22%7D%2C%7B%22MobileNo%22%3A%22456%22%7D%5D'
    5     5        ASSIGN                                                   !2, '%5B%7B%22MobileNo%22%3A%2207123456701%22%7D%5D'
    6     6        INIT_FCALL                                               'json_decode'
          7        SEND_VAR                                                 !1
          8        SEND_VAL                                                 <true>
          9        DO_ICALL                                         $12     
         10        ASSIGN                                                   !3, $12
    9    11        NEW                                              $14     'XmlWriter'
         12        DO_FCALL                                      0          
         13        ASSIGN                                                   !4, $14
   10    14        INIT_METHOD_CALL                                         !4, 'openURI'
         15        SEND_VAL_EX                                              'php%3A%2F%2Foutput'
         16        DO_FCALL                                      0          
   11    17        INIT_METHOD_CALL                                         !4, 'startDocument'
         18        SEND_VAL_EX                                              '1.0'
         19        SEND_VAL_EX                                              'UTF-8'
         20        DO_FCALL                                      0          
   12    21        INIT_METHOD_CALL                                         !4, 'startElement'
         22        SEND_VAL_EX                                              'Msg'
         23        DO_FCALL                                      0          
   13    24        INIT_METHOD_CALL                                         !4, 'startElement'
         25        SEND_VAL_EX                                              'JobId'
         26        DO_FCALL                                      0          
   14    27        INIT_METHOD_CALL                                         !4, 'text'
         28        SEND_VAL_EX                                              '500'
         29        DO_FCALL                                      0          
   15    30        INIT_METHOD_CALL                                         !4, 'endElement'
         31        DO_FCALL                                      0          
   16    32        INIT_METHOD_CALL                                         !4, 'setIndent'
         33        SEND_VAL_EX                                              <true>
         34        DO_FCALL                                      0          
   17    35      > FE_RESET_R                                       $24     !3, ->69
         36    > > FE_FETCH_R                                               $24, !5, ->69
   18    37    >   INIT_METHOD_CALL                                         !4, 'startElement'
         38        SEND_VAL_EX                                              'SubmitResult'
         39        DO_FCALL                                      0          
   19    40        INIT_METHOD_CALL                                         !4, 'startElement'
         41        SEND_VAL_EX                                              'MobileNo'
         42        DO_FCALL                                      0          
   20    43        INIT_METHOD_CALL                                         !4, 'text'
         44        CHECK_FUNC_ARG                                           
         45        FETCH_DIM_FUNC_ARG                               $27     !5, 'MobileNo'
         46        SEND_FUNC_ARG                                            $27
         47        DO_FCALL                                      0          
   21    48        INIT_METHOD_CALL                                         !4, 'endElement'
         49        DO_FCALL                                      0          
   22    50        INIT_METHOD_CALL                                         !4, 'startElement'
         51        SEND_VAL_EX                                              'StatusId'
         52        DO_FCALL                                      0          
   23    53        INIT_METHOD_CALL                                         !4, 'text'
         54        SEND_VAL_EX                                              0
         55        DO_FCALL                                      0          
   24    56        INIT_METHOD_CALL                                         !4, 'endElement'
         57        DO_FCALL                                      0          
   25    58        INIT_METHOD_CALL                                         !4, 'startElement'
         59        SEND_VAL_EX                                              'StatusText'
         60        DO_FCALL                                      0          
   26    61        INIT_METHOD_CALL                                         !4, 'text'
         62        SEND_VAL_EX                                              'Success%3A+Message+submitted+successfully'
         63        DO_FCALL                                      0          
   27    64        INIT_METHOD_CALL                                         !4, 'endElement'
         65        DO_FCALL                                      0          
   28    66        INIT_METHOD_CALL                                         !4, 'endElement'
         67        DO_FCALL                                      0          
   17    68      > JMP                                                      ->36
         69    >   FE_FREE                                                  $24
   30    70        INIT_METHOD_CALL                                         !4, 'endElement'
         71        DO_FCALL                                      0          
   31    72        INIT_METHOD_CALL                                         !4, 'flush'
         73        DO_FCALL                                      0          
   33    74        INIT_FCALL                                               'microtime'
         75        SEND_VAL                                                 <true>
         76        DO_ICALL                                         $39     
         77        ASSIGN                                                   !6, $39
   34    78        SUB                                              ~41     !6, !0
         79        ASSIGN                                                   !7, ~41
   35    80        CONCAT                                           ~43     'Start%3A+', !0
         81        CONCAT                                           ~44     ~43, '%0A'
         82        ECHO                                                     ~44
   36    83        CONCAT                                           ~45     'Stop%3A+', !6
         84        CONCAT                                           ~46     ~45, '%0A'
         85        ECHO                                                     ~46
   37    86        CONCAT                                           ~47     'Seconds%3A+', !7
         87        CONCAT                                           ~48     ~47, '%0A'
         88        ECHO                                                     ~48
   38    89        INIT_FCALL                                               'memory_get_peak_usage'
         90        DO_ICALL                                         $49     
         91        DIV                                              ~50     $49, 1048576
         92        CONCAT                                           ~51     'Memory+peak%3A+', ~50
         93        CONCAT                                           ~52     ~51, 'MB'
         94        CONCAT                                           ~53     ~52, '%0A'
         95        ECHO                                                     ~53
   39    96      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
151.82 ms | 1404 KiB | 19 Q