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/2MNE3
function name:  (null)
number of ops:  89
compiled vars:  !0 = $date3, !1 = $date4, !2 = $positiveDifferenceDateInterval2, !3 = $positiveAddedDate, !4 = $negativeDifferenceDateInterval2, !5 = $negativeAddedDate
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   INIT_FCALL                                               'date_default_timezone_set'
          1        SEND_VAL                                                 'Europe%2FLondon'
          2        DO_ICALL                                                 
    5     3        INIT_STATIC_METHOD_CALL                                  'DateTime', 'createFromFormat'
          4        SEND_VAL                                                 'Y-m-d+H%3Ai%3As'
          5        SEND_VAL                                                 '2019-04-01+00%3A00%3A00'
          6        DO_FCALL                                      0  $7      
          7        ASSIGN                                                   !0, $7
    6     8        CLONE                                            ~9      !0
          9        ASSIGN                                                   !1, ~9
    7    10        INIT_METHOD_CALL                                         !1, 'modify'
         11        SEND_VAL_EX                                              '%2B5+week'
         12        DO_FCALL                                      0          
    8    13        ECHO                                                     'So+the+originally+modified+date+with+5+weeks+added+is%3A'
    9    14        INIT_FCALL                                               'print_r'
         15        SEND_VAR                                                 !1
         16        DO_ICALL                                                 
   11    17        ECHO                                                     '%0A%0A'
   14    18        ECHO                                                     '1.+positive+DIFF+and+addition%0A'
   15    19        ECHO                                                     'diff+is%3A+'
   16    20        INIT_METHOD_CALL                                         !0, 'diff'
         21        SEND_VAR_EX                                              !1
         22        DO_FCALL                                      0  $13     
         23        ASSIGN                                                   !2, $13
   17    24        INIT_FCALL                                               'print_r'
         25        INIT_METHOD_CALL                                         !2, 'format'
         26        SEND_VAL_EX                                              '%25R+%25mm+%25dd'
         27        DO_FCALL                                      0  $15     
         28        SEND_VAR                                                 $15
         29        DO_ICALL                                                 
   18    30        ROPE_INIT                                     3  ~19     '%3B+days%3A+'
         31        FETCH_OBJ_R                                      ~17     !2, 'days'
         32        ROPE_ADD                                      1  ~19     ~19, ~17
         33        ROPE_END                                      2  ~18     ~19, '+%0A'
         34        ECHO                                                     ~18
   19    35        CLONE                                            ~21     !0
         36        ASSIGN                                                   !3, ~21
   20    37        INIT_METHOD_CALL                                         !3, 'add'
         38        SEND_VAR_EX                                              !2
         39        DO_FCALL                                      0          
   21    40        INIT_FCALL                                               'print_r'
         41        SEND_VAR                                                 !3
         42        DO_ICALL                                                 
   22    43        ECHO                                                     'is+it+equal+to+%24date4%3F+'
   23    44        INIT_FCALL                                               'var_dump'
         45        INIT_METHOD_CALL                                         !1, 'getTimestamp'
         46        DO_FCALL                                      0  $25     
         47        INIT_METHOD_CALL                                         !3, 'getTimestamp'
         48        DO_FCALL                                      0  $26     
         49        IS_IDENTICAL                                     ~27     $25, $26
         50        SEND_VAL                                                 ~27
         51        DO_ICALL                                                 
   24    52        ECHO                                                     '%0A'
   27    53        ECHO                                                     '2.+negative+DIFF+and+addition%0A'
   28    54        ECHO                                                     'diff+is%3A+'
   29    55        INIT_METHOD_CALL                                         !1, 'diff'
         56        SEND_VAR_EX                                              !0
         57        DO_FCALL                                      0  $29     
         58        ASSIGN                                                   !4, $29
   30    59        INIT_FCALL                                               'print_r'
         60        INIT_METHOD_CALL                                         !4, 'format'
         61        SEND_VAL_EX                                              '%25R+%25mm+%25dd'
         62        DO_FCALL                                      0  $31     
         63        SEND_VAR                                                 $31
         64        DO_ICALL                                                 
   31    65        NOP                                                      
         66        FETCH_OBJ_R                                      ~33     !4, 'days'
         67        FAST_CONCAT                                      ~34     '%3B+days+', ~33
         68        ECHO                                                     ~34
   32    69        CLONE                                            ~35     !0
         70        ASSIGN                                                   !5, ~35
   34    71        INIT_METHOD_CALL                                         !5, 'sub'
         72        SEND_VAR_EX                                              !4
         73        DO_FCALL                                      0          
   35    74        INIT_FCALL                                               'print_r'
         75        SEND_VAR                                                 !5
         76        DO_ICALL                                                 
   36    77        ECHO                                                     'is+it+equal+to+%24date4%3F+'
   37    78        INIT_FCALL                                               'var_dump'
         79        INIT_METHOD_CALL                                         !1, 'getTimestamp'
         80        DO_FCALL                                      0  $39     
         81        INIT_METHOD_CALL                                         !5, 'getTimestamp'
         82        DO_FCALL                                      0  $40     
         83        IS_IDENTICAL                                     ~41     $39, $40
         84        SEND_VAL                                                 ~41
         85        DO_ICALL                                                 
   38    86        ECHO                                                     '%0A%0A'
   40    87        ECHO                                                     'So+in+order+to+make+it+equal+to+%24date4+I+need+to+subtract+a+negative+interval+instead+of+adding+a+positive+one%3F+How+crazy+is+that%3F%21'
         88      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
263.62 ms | 980 KiB | 16 Q