3v4l.org

run code in 300+ PHP versions simultaneously
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/Q3amI
function name:  (null)
number of ops:  8
compiled vars:  !0 = $array
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   24     0  E >   ASSIGN                                                   !0, <array>
   32     1        INIT_FCALL                                               'var_export'
          2        INIT_FCALL                                               'mergeranges'
          3        SEND_VAR                                                 !0
          4        DO_FCALL                                      0  $2      
          5        SEND_VAR                                                 $2
          6        DO_ICALL                                                 
          7      > RETURN                                                   1

Function mergeranges:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 7, Position 2 = 63
Branch analysis from position: 7
2 jumps found. (Code = 78) Position 1 = 8, Position 2 = 63
Branch analysis from position: 8
2 jumps found. (Code = 46) Position 1 = 10, Position 2 = 24
Branch analysis from position: 10
2 jumps found. (Code = 43) Position 1 = 25, Position 2 = 40
Branch analysis from position: 25
2 jumps found. (Code = 43) Position 1 = 30, Position 2 = 34
Branch analysis from position: 30
1 jumps found. (Code = 42) Position 1 = 62
Branch analysis from position: 62
1 jumps found. (Code = 42) Position 1 = 7
Branch analysis from position: 7
Branch analysis from position: 34
Branch analysis from position: 40
2 jumps found. (Code = 43) Position 1 = 41, Position 2 = 51
Branch analysis from position: 41
1 jumps found. (Code = 42) Position 1 = 52
Branch analysis from position: 52
1 jumps found. (Code = 42) Position 1 = 7
Branch analysis from position: 7
Branch analysis from position: 51
1 jumps found. (Code = 42) Position 1 = 7
Branch analysis from position: 7
Branch analysis from position: 24
Branch analysis from position: 63
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 63
filename:       /in/Q3amI
function name:  mergeRanges
number of ops:  75
compiled vars:  !0 = $array, !1 = $row, !2 = $i, !3 = $result, !4 = $x
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   RECV                                             !0      
    3     1        INIT_FCALL                                               'usort'
          2        SEND_REF                                                 !0
          3        DECLARE_LAMBDA_FUNCTION                          ~5      [0]
          4        SEND_VAL                                                 ~5
          5        DO_ICALL                                                 
    5     6      > FE_RESET_R                                       $7      !0, ->63
          7    > > FE_FETCH_R                                       ~8      $7, !1, ->63
          8    >   ASSIGN                                                   !2, ~8
    6     9      > JMPZ_EX                                          ~10     !2, ->24
         10    >   FETCH_DIM_R                                      ~11     !1, 'start_date'
         11        INIT_FCALL                                               'date'
         12        SEND_VAL                                                 'Y-m-d'
         13        INIT_FCALL                                               'strtotime'
         14        FETCH_DIM_R                                      ~12     !3, !4
         15        FETCH_DIM_R                                      ~13     ~12, 'end_date'
         16        NOP                                                      
         17        FAST_CONCAT                                      ~14     ~13, '+%2B1+day'
         18        SEND_VAL                                                 ~14
         19        DO_ICALL                                         $15     
         20        SEND_VAR                                                 $15
         21        DO_ICALL                                         $16     
         22        IS_SMALLER_OR_EQUAL                              ~17     ~11, $16
         23        BOOL                                             ~10     ~17
         24    > > JMPZ                                                     ~10, ->40
    7    25    >   FETCH_DIM_R                                      ~18     !1, 'end_date'
         26        FETCH_DIM_R                                      ~19     !3, !4
         27        FETCH_DIM_R                                      ~20     ~19, 'end_date'
         28        IS_SMALLER                                               ~20, ~18
         29      > JMPZ                                                     ~21, ->34
    8    30    >   FETCH_DIM_R                                      ~24     !1, 'end_date'
         31        FETCH_DIM_W                                      $22     !3, !4
         32        ASSIGN_DIM                                               $22, 'end_date'
         33        OP_DATA                                                  ~24
   10    34    >   FETCH_DIM_R                                      ~28     !1, 'id'
         35        FETCH_DIM_W                                      $25     !3, !4
         36        FETCH_DIM_W                                      $26     $25, 'merged_ids'
         37        ASSIGN_DIM                                               $26
         38        OP_DATA                                                  ~28
    6    39      > JMP                                                      ->62
   12    40    > > JMPZ                                                     !2, ->51
   13    41    >   INIT_FCALL                                               'implode'
         42        SEND_VAL                                                 '%2C+'
         43        FETCH_DIM_R                                      ~31     !3, !4
         44        FETCH_DIM_R                                      ~32     ~31, 'merged_ids'
         45        SEND_VAL                                                 ~32
         46        DO_ICALL                                         $33     
         47        FETCH_DIM_W                                      $29     !3, !4
         48        ASSIGN_DIM                                               $29, 'merged_ids'
         49        OP_DATA                                                  $33
   12    50      > JMP                                                      ->52
   15    51    >   ASSIGN                                                   !4, -1
   17    52    >   PRE_INC                                          ~35     !4
         53        FETCH_DIM_R                                      ~37     !1, 'id'
         54        INIT_ARRAY                                       ~38     ~37
         55        INIT_ARRAY                                       ~39     ~38, 'merged_ids'
         56        FETCH_DIM_R                                      ~40     !1, 'start_date'
         57        ADD_ARRAY_ELEMENT                                ~39     ~40, 'start_date'
         58        FETCH_DIM_R                                      ~41     !1, 'end_date'
         59        ADD_ARRAY_ELEMENT                                ~39     ~41, 'end_date'
         60        ASSIGN_DIM                                               !3, ~35
         61        OP_DATA                                                  ~39
    5    62    > > JMP                                                      ->7
         63    >   FE_FREE                                                  $7
   20    64        INIT_FCALL                                               'implode'
         65        SEND_VAL                                                 '%2C+'
         66        FETCH_DIM_R                                      ~44     !3, !4
         67        FETCH_DIM_R                                      ~45     ~44, 'merged_ids'
         68        SEND_VAL                                                 ~45
         69        DO_ICALL                                         $46     
         70        FETCH_DIM_W                                      $42     !3, !4
         71        ASSIGN_DIM                                               $42, 'merged_ids'
         72        OP_DATA                                                  $46
   21    73      > RETURN                                                   !3
   22    74*     > RETURN                                                   null


Dynamic Functions:
Dynamic Function 0
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/Q3amI
function name:  {closure}
number of ops:  7
compiled vars:  !0 = $a, !1 = $b
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   RECV                                             !0      
          1        RECV                                             !1      
          2        FETCH_DIM_R                                      ~2      !0, 'start_date'
          3        FETCH_DIM_R                                      ~3      !1, 'start_date'
          4        SPACESHIP                                        ~4      ~2, ~3
          5      > RETURN                                                   ~4
          6*     > RETURN                                                   null

End of Dynamic Function 0

End of function mergeranges

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
245.49 ms | 982 KiB | 19 Q