3v4l.org

run code in 300+ PHP versions simultaneously
<?php define( 'MINUTE_IN_SECONDS', 60 ); define( 'HOUR_IN_SECONDS', 60 * MINUTE_IN_SECONDS ); define( 'DAY_IN_SECONDS', 24 * HOUR_IN_SECONDS ); define( 'WEEK_IN_SECONDS', 7 * DAY_IN_SECONDS ); define( 'MONTH_IN_SECONDS', 30 * DAY_IN_SECONDS ); define( 'YEAR_IN_SECONDS', 365 * DAY_IN_SECONDS ); $timezone = 'ASIA/FEFEF'; $dateTime = null; print_r(DateTimeZone::listIdentifiers()); die(); if (is_null($dateTime)) { $dateTime = new DateTime(); } $tzInfo = new DateTimeZone($timezone); $offset = (int) $tzInfo->getOffset($dateTime) / HOUR_IN_SECONDS; if ($offset !== 0) { echo sprintf('GMT %s', ($offset > 0 ? '+' : '').$offset); } else { echo 'GMT'; }

Abusive script

This script was stopped while abusing our resources

Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 79) Position 1 = -2
filename:       /in/be0Sk
function name:  (null)
number of ops:  74
compiled vars:  !0 = $timezone, !1 = $dateTime, !2 = $tzInfo, !3 = $offset
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   INIT_FCALL                                               'define'
          1        SEND_VAL                                                 'MINUTE_IN_SECONDS'
          2        SEND_VAL                                                 60
          3        DO_ICALL                                                 
    3     4        INIT_FCALL                                               'define'
          5        SEND_VAL                                                 'HOUR_IN_SECONDS'
          6        FETCH_CONSTANT                                   ~5      'MINUTE_IN_SECONDS'
          7        MUL                                              ~6      ~5, 60
          8        SEND_VAL                                                 ~6
          9        DO_ICALL                                                 
    4    10        INIT_FCALL                                               'define'
         11        SEND_VAL                                                 'DAY_IN_SECONDS'
         12        FETCH_CONSTANT                                   ~8      'HOUR_IN_SECONDS'
         13        MUL                                              ~9      ~8, 24
         14        SEND_VAL                                                 ~9
         15        DO_ICALL                                                 
    5    16        INIT_FCALL                                               'define'
         17        SEND_VAL                                                 'WEEK_IN_SECONDS'
         18        FETCH_CONSTANT                                   ~11     'DAY_IN_SECONDS'
         19        MUL                                              ~12     ~11, 7
         20        SEND_VAL                                                 ~12
         21        DO_ICALL                                                 
    6    22        INIT_FCALL                                               'define'
         23        SEND_VAL                                                 'MONTH_IN_SECONDS'
         24        FETCH_CONSTANT                                   ~14     'DAY_IN_SECONDS'
         25        MUL                                              ~15     ~14, 30
         26        SEND_VAL                                                 ~15
         27        DO_ICALL                                                 
    7    28        INIT_FCALL                                               'define'
         29        SEND_VAL                                                 'YEAR_IN_SECONDS'
         30        FETCH_CONSTANT                                   ~17     'DAY_IN_SECONDS'
         31        MUL                                              ~18     ~17, 365
         32        SEND_VAL                                                 ~18
         33        DO_ICALL                                                 
    9    34        ASSIGN                                                   !0, 'ASIA%2FFEFEF'
   10    35        ASSIGN                                                   !1, null
   12    36        INIT_FCALL                                               'print_r'
         37        INIT_STATIC_METHOD_CALL                                  'DateTimeZone', 'listIdentifiers'
         38        DO_FCALL                                      0  $22     
         39        SEND_VAR                                                 $22
         40        DO_ICALL                                                 
   13    41      > EXIT                                                     
   15    42*       TYPE_CHECK                                    2          !1
         43*       JMPZ                                                     ~24, ->47
   16    44*       NEW                                              $25     'DateTime'
         45*       DO_FCALL                                      0          
         46*       ASSIGN                                                   !1, $25
   19    47*       NEW                                              $28     'DateTimeZone'
         48*       SEND_VAR_EX                                              !0
         49*       DO_FCALL                                      0          
         50*       ASSIGN                                                   !2, $28
   20    51*       INIT_METHOD_CALL                                         !2, 'getOffset'
         52*       SEND_VAR_EX                                              !1
         53*       DO_FCALL                                      0  $31     
         54*       CAST                                          4  ~32     $31
         55*       FETCH_CONSTANT                                   ~33     'HOUR_IN_SECONDS'
         56*       DIV                                              ~34     ~32, ~33
         57*       ASSIGN                                                   !3, ~34
   22    58*       IS_NOT_IDENTICAL                                         !3, 0
         59*       JMPZ                                                     ~36, ->72
   23    60*       INIT_FCALL                                               'sprintf'
         61*       SEND_VAL                                                 'GMT+%25s'
         62*       IS_SMALLER                                               0, !3
         63*       JMPZ                                                     ~37, ->66
         64*       QM_ASSIGN                                        ~38     '%2B'
         65*       JMP                                                      ->67
         66*       QM_ASSIGN                                        ~38     ''
         67*       CONCAT                                           ~39     ~38, !3
         68*       SEND_VAL                                                 ~39
         69*       DO_ICALL                                         $40     
         70*       ECHO                                                     $40
   22    71*       JMP                                                      ->73
   25    72*       ECHO                                                     'GMT'
   26    73*     > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
273.75 ms | 1017 KiB | 16 Q