3v4l.org

run code in 300+ PHP versions simultaneously
<?php $offset = "-1100"; $hours = substr($offset, 0, strlen(offset) - 2); $minutes = substr($offset, -2); $seconds = $hours * 60 * 60 + $minutes * 60; $tz = timezone_name_from_abbr('', $seconds, 1); $log->d("Timezone from offset: [".var_export($tz,true)."]"); if($tz === false) $tz = timezone_name_from_abbr('', $seconds, 0); $data["localtime"] = \DateTime::createFromFormat( 'Y-m-d H:i:s', $data[0]['weatherReportTime'], new \DateTimeZone($tz)); $log->d("LOCAL TIME: [".var_export($data["localtime"],true)."]");
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 37, Position 2 = 43
Branch analysis from position: 37
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 43
filename:       /in/4MOad
function name:  (null)
number of ops:  66
compiled vars:  !0 = $offset, !1 = $hours, !2 = $minutes, !3 = $seconds, !4 = $tz, !5 = $log, !6 = $data
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, '-1100'
    3     1        INIT_FCALL                                               'substr'
          2        SEND_VAR                                                 !0
          3        SEND_VAL                                                 0
          4        FETCH_CONSTANT                                   ~8      'offset'
          5        STRLEN                                           ~9      ~8
          6        SUB                                              ~10     ~9, 2
          7        SEND_VAL                                                 ~10
          8        DO_ICALL                                         $11     
          9        ASSIGN                                                   !1, $11
    4    10        INIT_FCALL                                               'substr'
         11        SEND_VAR                                                 !0
         12        SEND_VAL                                                 -2
         13        DO_ICALL                                         $13     
         14        ASSIGN                                                   !2, $13
    5    15        MUL                                              ~15     !1, 60
         16        MUL                                              ~16     ~15, 60
         17        MUL                                              ~17     !2, 60
         18        ADD                                              ~18     ~16, ~17
         19        ASSIGN                                                   !3, ~18
    6    20        INIT_FCALL                                               'timezone_name_from_abbr'
         21        SEND_VAL                                                 ''
         22        SEND_VAR                                                 !3
         23        SEND_VAL                                                 1
         24        DO_ICALL                                         $20     
         25        ASSIGN                                                   !4, $20
    7    26        INIT_METHOD_CALL                                         !5, 'd'
         27        INIT_FCALL                                               'var_export'
         28        SEND_VAR                                                 !4
         29        SEND_VAL                                                 <true>
         30        DO_ICALL                                         $22     
         31        CONCAT                                           ~23     'Timezone+from+offset%3A+%5B', $22
         32        CONCAT                                           ~24     ~23, '%5D'
         33        SEND_VAL_EX                                              ~24
         34        DO_FCALL                                      0          
    8    35        TYPE_CHECK                                    4          !4
         36      > JMPZ                                                     ~26, ->43
         37    >   INIT_FCALL                                               'timezone_name_from_abbr'
         38        SEND_VAL                                                 ''
         39        SEND_VAR                                                 !3
         40        SEND_VAL                                                 0
         41        DO_ICALL                                         $27     
         42        ASSIGN                                                   !4, $27
    9    43    >   INIT_STATIC_METHOD_CALL                                  'DateTime', 'createFromFormat'
   10    44        SEND_VAL                                                 'Y-m-d+H%3Ai%3As'
         45        FETCH_DIM_R                                      ~30     !6, 0
         46        FETCH_DIM_R                                      ~31     ~30, 'weatherReportTime'
         47        SEND_VAL                                                 ~31
   11    48        NEW                                              $32     'DateTimeZone'
         49        SEND_VAR_EX                                              !4
         50        DO_FCALL                                      0          
         51        SEND_VAR                                                 $32
         52        DO_FCALL                                      0  $34     
    9    53        ASSIGN_DIM                                               !6, 'localtime'
   11    54        OP_DATA                                                  $34
   12    55        INIT_METHOD_CALL                                         !5, 'd'
         56        INIT_FCALL                                               'var_export'
         57        FETCH_DIM_R                                      ~35     !6, 'localtime'
         58        SEND_VAL                                                 ~35
         59        SEND_VAL                                                 <true>
         60        DO_ICALL                                         $36     
         61        CONCAT                                           ~37     'LOCAL+TIME%3A+%5B', $36
         62        CONCAT                                           ~38     ~37, '%5D'
         63        SEND_VAL_EX                                              ~38
         64        DO_FCALL                                      0          
         65      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
166.92 ms | 1400 KiB | 19 Q