3v4l.org

run code in 300+ PHP versions simultaneously
<?php date_default_timezone_set('Europe/Minsk'); $a = new DateTimeImmutable(); $daySchedule = [ 'from' => '14:00+03:00', 'till' => '21:00+03:00', ]; $from = explode(':', substr($daySchedule['from'], 0, 5)); $till = explode(':', substr($daySchedule['till'], 0, 5)); $fromTz = new \DateTimeZone(substr($daySchedule['from'], 5)); $tillTz = new \DateTimeZone(substr($daySchedule['till'], 5)); $b = $a->setTime($from[0], $from[1]); var_dump($a->getTimestamp()); var_dump($b->getTimestamp()); $b = $b->setTimezone($fromTz); var_dump($a->getTimestamp()); var_dump($b->getTimestamp()); var_dump($a > $b, $a, $b); var_dump($a->getTimestamp()); var_dump($b->getTimestamp()); var_dump($a > $b, $a, $b);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/LQi2d
function name:  (null)
number of ops:  103
compiled vars:  !0 = $a, !1 = $daySchedule, !2 = $from, !3 = $till, !4 = $fromTz, !5 = $tillTz, !6 = $b
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   INIT_FCALL                                               'date_default_timezone_set'
          1        SEND_VAL                                                 'Europe%2FMinsk'
          2        DO_ICALL                                                 
    5     3        NEW                                              $8      'DateTimeImmutable'
          4        DO_FCALL                                      0          
          5        ASSIGN                                                   !0, $8
    7     6        ASSIGN                                                   !1, <array>
   11     7        INIT_FCALL                                               'explode'
          8        SEND_VAL                                                 '%3A'
          9        INIT_FCALL                                               'substr'
         10        FETCH_DIM_R                                      ~12     !1, 'from'
         11        SEND_VAL                                                 ~12
         12        SEND_VAL                                                 0
         13        SEND_VAL                                                 5
         14        DO_ICALL                                         $13     
         15        SEND_VAR                                                 $13
         16        DO_ICALL                                         $14     
         17        ASSIGN                                                   !2, $14
   12    18        INIT_FCALL                                               'explode'
         19        SEND_VAL                                                 '%3A'
         20        INIT_FCALL                                               'substr'
         21        FETCH_DIM_R                                      ~16     !1, 'till'
         22        SEND_VAL                                                 ~16
         23        SEND_VAL                                                 0
         24        SEND_VAL                                                 5
         25        DO_ICALL                                         $17     
         26        SEND_VAR                                                 $17
         27        DO_ICALL                                         $18     
         28        ASSIGN                                                   !3, $18
   13    29        NEW                                              $20     'DateTimeZone'
         30        INIT_FCALL                                               'substr'
         31        FETCH_DIM_R                                      ~21     !1, 'from'
         32        SEND_VAL                                                 ~21
         33        SEND_VAL                                                 5
         34        DO_ICALL                                         $22     
         35        SEND_VAR_NO_REF_EX                                       $22
         36        DO_FCALL                                      0          
         37        ASSIGN                                                   !4, $20
   14    38        NEW                                              $25     'DateTimeZone'
         39        INIT_FCALL                                               'substr'
         40        FETCH_DIM_R                                      ~26     !1, 'till'
         41        SEND_VAL                                                 ~26
         42        SEND_VAL                                                 5
         43        DO_ICALL                                         $27     
         44        SEND_VAR_NO_REF_EX                                       $27
         45        DO_FCALL                                      0          
         46        ASSIGN                                                   !5, $25
   16    47        INIT_METHOD_CALL                                         !0, 'setTime'
         48        CHECK_FUNC_ARG                                           
         49        FETCH_DIM_FUNC_ARG                               $30     !2, 0
         50        SEND_FUNC_ARG                                            $30
         51        CHECK_FUNC_ARG                                           
         52        FETCH_DIM_FUNC_ARG                               $31     !2, 1
         53        SEND_FUNC_ARG                                            $31
         54        DO_FCALL                                      0  $32     
         55        ASSIGN                                                   !6, $32
   17    56        INIT_FCALL                                               'var_dump'
         57        INIT_METHOD_CALL                                         !0, 'getTimestamp'
         58        DO_FCALL                                      0  $34     
         59        SEND_VAR                                                 $34
         60        DO_ICALL                                                 
   18    61        INIT_FCALL                                               'var_dump'
         62        INIT_METHOD_CALL                                         !6, 'getTimestamp'
         63        DO_FCALL                                      0  $36     
         64        SEND_VAR                                                 $36
         65        DO_ICALL                                                 
   19    66        INIT_METHOD_CALL                                         !6, 'setTimezone'
         67        SEND_VAR_EX                                              !4
         68        DO_FCALL                                      0  $38     
         69        ASSIGN                                                   !6, $38
   20    70        INIT_FCALL                                               'var_dump'
         71        INIT_METHOD_CALL                                         !0, 'getTimestamp'
         72        DO_FCALL                                      0  $40     
         73        SEND_VAR                                                 $40
         74        DO_ICALL                                                 
   21    75        INIT_FCALL                                               'var_dump'
         76        INIT_METHOD_CALL                                         !6, 'getTimestamp'
         77        DO_FCALL                                      0  $42     
         78        SEND_VAR                                                 $42
         79        DO_ICALL                                                 
   23    80        INIT_FCALL                                               'var_dump'
         81        IS_SMALLER                                       ~44     !6, !0
         82        SEND_VAL                                                 ~44
         83        SEND_VAR                                                 !0
         84        SEND_VAR                                                 !6
         85        DO_ICALL                                                 
   24    86        INIT_FCALL                                               'var_dump'
         87        INIT_METHOD_CALL                                         !0, 'getTimestamp'
         88        DO_FCALL                                      0  $46     
         89        SEND_VAR                                                 $46
         90        DO_ICALL                                                 
   25    91        INIT_FCALL                                               'var_dump'
         92        INIT_METHOD_CALL                                         !6, 'getTimestamp'
         93        DO_FCALL                                      0  $48     
         94        SEND_VAR                                                 $48
         95        DO_ICALL                                                 
   26    96        INIT_FCALL                                               'var_dump'
         97        IS_SMALLER                                       ~50     !6, !0
         98        SEND_VAL                                                 ~50
         99        SEND_VAR                                                 !0
        100        SEND_VAR                                                 !6
        101        DO_ICALL                                                 
        102      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
168.21 ms | 1404 KiB | 21 Q