3v4l.org

run code in 300+ PHP versions simultaneously
<?php $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/H7foi
function name:  (null)
number of ops:  100
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 >   NEW                                              $7      'DateTimeImmutable'
          1        DO_FCALL                                      0          
          2        ASSIGN                                                   !0, $7
    5     3        ASSIGN                                                   !1, <array>
    9     4        INIT_FCALL                                               'explode'
          5        SEND_VAL                                                 '%3A'
          6        INIT_FCALL                                               'substr'
          7        FETCH_DIM_R                                      ~11     !1, 'from'
          8        SEND_VAL                                                 ~11
          9        SEND_VAL                                                 0
         10        SEND_VAL                                                 5
         11        DO_ICALL                                         $12     
         12        SEND_VAR                                                 $12
         13        DO_ICALL                                         $13     
         14        ASSIGN                                                   !2, $13
   10    15        INIT_FCALL                                               'explode'
         16        SEND_VAL                                                 '%3A'
         17        INIT_FCALL                                               'substr'
         18        FETCH_DIM_R                                      ~15     !1, 'till'
         19        SEND_VAL                                                 ~15
         20        SEND_VAL                                                 0
         21        SEND_VAL                                                 5
         22        DO_ICALL                                         $16     
         23        SEND_VAR                                                 $16
         24        DO_ICALL                                         $17     
         25        ASSIGN                                                   !3, $17
   11    26        NEW                                              $19     'DateTimeZone'
         27        INIT_FCALL                                               'substr'
         28        FETCH_DIM_R                                      ~20     !1, 'from'
         29        SEND_VAL                                                 ~20
         30        SEND_VAL                                                 5
         31        DO_ICALL                                         $21     
         32        SEND_VAR_NO_REF_EX                                       $21
         33        DO_FCALL                                      0          
         34        ASSIGN                                                   !4, $19
   12    35        NEW                                              $24     'DateTimeZone'
         36        INIT_FCALL                                               'substr'
         37        FETCH_DIM_R                                      ~25     !1, 'till'
         38        SEND_VAL                                                 ~25
         39        SEND_VAL                                                 5
         40        DO_ICALL                                         $26     
         41        SEND_VAR_NO_REF_EX                                       $26
         42        DO_FCALL                                      0          
         43        ASSIGN                                                   !5, $24
   14    44        INIT_METHOD_CALL                                         !0, 'setTime'
         45        CHECK_FUNC_ARG                                           
         46        FETCH_DIM_FUNC_ARG                               $29     !2, 0
         47        SEND_FUNC_ARG                                            $29
         48        CHECK_FUNC_ARG                                           
         49        FETCH_DIM_FUNC_ARG                               $30     !2, 1
         50        SEND_FUNC_ARG                                            $30
         51        DO_FCALL                                      0  $31     
         52        ASSIGN                                                   !6, $31
   15    53        INIT_FCALL                                               'var_dump'
         54        INIT_METHOD_CALL                                         !0, 'getTimestamp'
         55        DO_FCALL                                      0  $33     
         56        SEND_VAR                                                 $33
         57        DO_ICALL                                                 
   16    58        INIT_FCALL                                               'var_dump'
         59        INIT_METHOD_CALL                                         !6, 'getTimestamp'
         60        DO_FCALL                                      0  $35     
         61        SEND_VAR                                                 $35
         62        DO_ICALL                                                 
   17    63        INIT_METHOD_CALL                                         !6, 'setTimezone'
         64        SEND_VAR_EX                                              !4
         65        DO_FCALL                                      0  $37     
         66        ASSIGN                                                   !6, $37
   18    67        INIT_FCALL                                               'var_dump'
         68        INIT_METHOD_CALL                                         !0, 'getTimestamp'
         69        DO_FCALL                                      0  $39     
         70        SEND_VAR                                                 $39
         71        DO_ICALL                                                 
   19    72        INIT_FCALL                                               'var_dump'
         73        INIT_METHOD_CALL                                         !6, 'getTimestamp'
         74        DO_FCALL                                      0  $41     
         75        SEND_VAR                                                 $41
         76        DO_ICALL                                                 
   21    77        INIT_FCALL                                               'var_dump'
         78        IS_SMALLER                                       ~43     !6, !0
         79        SEND_VAL                                                 ~43
         80        SEND_VAR                                                 !0
         81        SEND_VAR                                                 !6
         82        DO_ICALL                                                 
   22    83        INIT_FCALL                                               'var_dump'
         84        INIT_METHOD_CALL                                         !0, 'getTimestamp'
         85        DO_FCALL                                      0  $45     
         86        SEND_VAR                                                 $45
         87        DO_ICALL                                                 
   23    88        INIT_FCALL                                               'var_dump'
         89        INIT_METHOD_CALL                                         !6, 'getTimestamp'
         90        DO_FCALL                                      0  $47     
         91        SEND_VAR                                                 $47
         92        DO_ICALL                                                 
   24    93        INIT_FCALL                                               'var_dump'
         94        IS_SMALLER                                       ~49     !6, !0
         95        SEND_VAL                                                 ~49
         96        SEND_VAR                                                 !0
         97        SEND_VAR                                                 !6
         98        DO_ICALL                                                 
         99      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
159.17 ms | 1404 KiB | 19 Q