3v4l.org

run code in 300+ PHP versions simultaneously
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 85
Branch analysis from position: 85
2 jumps found. (Code = 44) Position 1 = 87, Position 2 = 45
Branch analysis from position: 87
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 45
2 jumps found. (Code = 43) Position 1 = 50, Position 2 = 52
Branch analysis from position: 50
1 jumps found. (Code = 42) Position 1 = 60
Branch analysis from position: 60
2 jumps found. (Code = 43) Position 1 = 66, Position 2 = 68
Branch analysis from position: 66
1 jumps found. (Code = 42) Position 1 = 78
Branch analysis from position: 78
2 jumps found. (Code = 44) Position 1 = 87, Position 2 = 45
Branch analysis from position: 87
Branch analysis from position: 45
Branch analysis from position: 68
2 jumps found. (Code = 44) Position 1 = 87, Position 2 = 45
Branch analysis from position: 87
Branch analysis from position: 45
Branch analysis from position: 52
2 jumps found. (Code = 43) Position 1 = 66, Position 2 = 68
Branch analysis from position: 66
Branch analysis from position: 68
filename:       /in/XKvfJ
function name:  (null)
number of ops:  91
compiled vars:  !0 = $data, !1 = $thisYear, !2 = $year, !3 = $lastYear, !4 = $thisYearRunningTotal, !5 = $lastYearRunningTotal, !6 = $result, !7 = $month, !8 = $thisYearMonthTotal, !9 = $lastYearMonthTotal
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   INIT_FCALL                                               'array_fill_keys'
          1        INIT_FCALL                                               'range'
          2        SEND_VAL                                                 1
          3        SEND_VAL                                                 12
          4        DO_ICALL                                         $11     
          5        SEND_VAR                                                 $11
          6        SEND_VAL                                                 '1%2C000'
          7        DO_ICALL                                         $12     
          8        ASSIGN_DIM                                               !0, 2020
          9        OP_DATA                                                  $12
    4    10        INIT_FCALL                                               'array_fill_keys'
         11        INIT_FCALL                                               'range'
         12        SEND_VAL                                                 1
         13        SEND_VAL                                                 8
         14        DO_ICALL                                         $14     
         15        SEND_VAR                                                 $14
         16        SEND_VAL                                                 '1%2C500'
         17        DO_ICALL                                         $15     
         18        ASSIGN_DIM                                               !0, 2021
         19        OP_DATA                                                  $15
    5    20        FETCH_DIM_W                                      $16     !0, 2021
         21        ASSIGN_DIM                                               $16, 9
         22        OP_DATA                                                  null
    6    23        FETCH_DIM_W                                      $18     !0, 2021
         24        ASSIGN_DIM                                               $18, 10
         25        OP_DATA                                                  null
    7    26        FETCH_DIM_W                                      $20     !0, 2021
         27        ASSIGN_DIM                                               $20, 11
         28        OP_DATA                                                  null
    8    29        FETCH_DIM_W                                      $22     !0, 2021
         30        ASSIGN_DIM                                               $22, 12
         31        OP_DATA                                                  null
   10    32        COALESCE                                         ~24     !2
         33        INIT_FCALL                                               'date'
         34        SEND_VAL                                                 'Y'
         35        DO_ICALL                                         $25     
         36        QM_ASSIGN                                        ~24     $25
         37        ASSIGN                                                   !1, ~24
   11    38        SUB                                              ~27     !1, 1
         39        ASSIGN                                                   !3, ~27
   12    40        ASSIGN                                                   !4, 0
   13    41        ASSIGN                                                   !5, 0
   14    42        ASSIGN                                                   !6, <array>
   15    43        ASSIGN                                                   !7, 1
         44      > JMP                                                      ->85
   16    45    >   FETCH_DIM_R                                      ~33     !0, !1
         46        FETCH_DIM_R                                      ~34     ~33, !7
         47        ASSIGN                                                   !8, ~34
   17    48        TYPE_CHECK                                    2          !8
         49      > JMPZ                                                     ~36, ->52
   18    50    >   QM_ASSIGN                                        ~37     null
         51      > JMP                                                      ->60
   19    52    >   INIT_FCALL                                               'str_replace'
         53        SEND_VAL                                                 '%2C'
         54        SEND_VAL                                                 ''
         55        SEND_VAR                                                 !8
         56        DO_ICALL                                         $38     
         57        CAST                                          4  ~39     $38
         58        ADD                                              ~40     ~39, !4
         59        QM_ASSIGN                                        ~37     ~40
   17    60    >   ASSIGN                                                   !4, ~37
   21    61        FETCH_DIM_R                                      ~42     !0, !3
         62        FETCH_DIM_R                                      ~43     ~42, !7
         63        ASSIGN                                                   !9, ~43
   22    64        TYPE_CHECK                                    2          !9
         65      > JMPZ                                                     ~45, ->68
   23    66    >   QM_ASSIGN                                        ~46     null
         67      > JMP                                                      ->78
   24    68    >   INIT_FCALL                                               'str_replace'
         69        SEND_VAL                                                 '%2C'
         70        SEND_VAL                                                 ''
         71        SEND_VAR                                                 !9
         72        DO_ICALL                                         $47     
         73        CAST                                          4  ~48     $47
         74        COALESCE                                         ~49     !5
         75        QM_ASSIGN                                        ~49     0
         76        ADD                                              ~50     ~48, ~49
         77        QM_ASSIGN                                        ~46     ~50
   22    78    >   ASSIGN                                                   !5, ~46
   27    79        INIT_ARRAY                                       ~53     !7, 'month'
   28    80        ADD_ARRAY_ELEMENT                                ~53     !4, 'total_now'
   29    81        ADD_ARRAY_ELEMENT                                ~53     !5, 'total_before'
   26    82        ASSIGN_DIM                                               !6
   29    83        OP_DATA                                                  ~53
   15    84        PRE_INC                                                  !7
         85    >   IS_SMALLER_OR_EQUAL                                      !7, 12
         86      > JMPNZ                                                    ~55, ->45
   32    87    >   INIT_FCALL                                               'var_export'
         88        SEND_VAR                                                 !6
         89        DO_ICALL                                                 
         90      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
258.62 ms | 982 KiB | 18 Q