3v4l.org

run code in 500+ PHP versions simultaneously
<?php $timezoneAbbr = DateTimeZone::listAbbreviations(); $results = []; foreach ($timezoneAbbr as $group => $timezones) { foreach ($timezones as $timezoneData) { if ($timezoneData['dst'] === false) { continue; } $timezone = new DateTimeZone($timezoneData['timezone_id']); $transitions = $timezone->getTransitions(1546322400, 1577858400); if (!is_array($transitions)) { continue; } foreach ($transitions as $transition) { if (strpos($transition['time'], '2019-01-01') !== false) { continue; } if ($transition['isdst'] === true) { continue; } $date = new DateTime($transition['time']); $date->modify('+1 hour')->modify('-1 second'); $date->setTimezone($timezone); $date = DateTime::createFromFormat('Y-m-d H:i:s', $date->format('Y-m-d H:i:s'), $timezone); if ($date->format('I') === '0') { $results[$date->format(DateTime::ATOM).' '.$timezone->getName()] = 1; } } } } array_map(function ($x) { echo $x, PHP_EOL; }, array_keys($results));

Abusive script

This script was stopped while abusing our resources

Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 5, Position 2 = 82
Branch analysis from position: 5
2 jumps found. (Code = 78) Position 1 = 6, Position 2 = 82
Branch analysis from position: 6
2 jumps found. (Code = 77) Position 1 = 8, Position 2 = 80
Branch analysis from position: 8
2 jumps found. (Code = 78) Position 1 = 9, Position 2 = 80
Branch analysis from position: 9
2 jumps found. (Code = 43) Position 1 = 12, Position 2 = 13
Branch analysis from position: 12
1 jumps found. (Code = 42) Position 1 = 8
Branch analysis from position: 8
Branch analysis from position: 13
2 jumps found. (Code = 43) Position 1 = 27, Position 2 = 28
Branch analysis from position: 27
1 jumps found. (Code = 42) Position 1 = 8
Branch analysis from position: 8
Branch analysis from position: 28
2 jumps found. (Code = 77) Position 1 = 29, Position 2 = 78
Branch analysis from position: 29
2 jumps found. (Code = 78) Position 1 = 30, Position 2 = 78
Branch analysis from position: 30
2 jumps found. (Code = 43) Position 1 = 34, Position 2 = 35
Branch analysis from position: 34
1 jumps found. (Code = 42) Position 1 = 29
Branch analysis from position: 29
Branch analysis from position: 35
2 jumps found. (Code = 43) Position 1 = 38, Position 2 = 39
Branch analysis from position: 38
1 jumps found. (Code = 42) Position 1 = 29
Branch analysis from position: 29
Branch analysis from position: 39
2 jumps found. (Code = 43) Position 1 = 68, Position 2 = 77
Branch analysis from position: 68
1 jumps found. (Code = 42) Position 1 = 29
Branch analysis from position: 29
Branch analysis from position: 77
Branch analysis from position: 78
1 jumps found. (Code = 42) Position 1 = 8
Branch analysis from position: 8
Branch analysis from position: 78
Branch analysis from position: 80
1 jumps found. (Code = 42) Position 1 = 5
Branch analysis from position: 5
Branch analysis from position: 80
Branch analysis from position: 82
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 82
filename:       /in/vslF6
function name:  (null)
number of ops:  92
compiled vars:  !0 = $timezoneAbbr, !1 = $results, !2 = $timezones, !3 = $group, !4 = $timezoneData, !5 = $timezone, !6 = $transitions, !7 = $transition, !8 = $date
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    3     0  E >   INIT_STATIC_METHOD_CALL                                      'DateTimeZone', 'listAbbreviations'
          1        DO_FCALL                                          0  $9      
          2        ASSIGN                                                       !0, $9
    5     3        ASSIGN                                                       !1, <array>
    6     4      > FE_RESET_R                                           $12     !0, ->82
          5    > > FE_FETCH_R                                           ~13     $12, !2, ->82
          6    >   ASSIGN                                                       !3, ~13
    7     7      > FE_RESET_R                                           $15     !2, ->80
          8    > > FE_FETCH_R                                                   $15, !4, ->80
    8     9    >   FETCH_DIM_R                                          ~16     !4, 'dst'
         10        TYPE_CHECK                                        4          ~16
         11      > JMPZ                                                         ~17, ->13
    9    12    > > JMP                                                          ->8
   12    13    >   NEW                                                  $18     'DateTimeZone'
         14        CHECK_FUNC_ARG                                               
         15        FETCH_DIM_FUNC_ARG                                   $19     !4, 'timezone_id'
         16        SEND_FUNC_ARG                                                $19
         17        DO_FCALL                                          0          
         18        ASSIGN                                                       !5, $18
   13    19        INIT_METHOD_CALL                                             !5, 'getTransitions'
         20        SEND_VAL_EX                                                  1546322400
         21        SEND_VAL_EX                                                  1577858400
         22        DO_FCALL                                          0  $22     
         23        ASSIGN                                                       !6, $22
   14    24        TYPE_CHECK                                      128  ~24     !6
         25        BOOL_NOT                                             ~25     ~24
         26      > JMPZ                                                         ~25, ->28
   15    27    > > JMP                                                          ->8
   18    28    > > FE_RESET_R                                           $26     !6, ->78
         29    > > FE_FETCH_R                                                   $26, !7, ->78
   19    30    >   FETCH_DIM_R                                          ~27     !7, 'time'
         31        FRAMELESS_ICALL_2                strpos              ~28     ~27, '2019-01-01'
         32        TYPE_CHECK                                      1018          ~28
         33      > JMPZ                                                         ~29, ->35
   20    34    > > JMP                                                          ->29
   23    35    >   FETCH_DIM_R                                          ~30     !7, 'isdst'
         36        TYPE_CHECK                                        8          ~30
         37      > JMPZ                                                         ~31, ->39
   24    38    > > JMP                                                          ->29
   27    39    >   NEW                                                  $32     'DateTime'
         40        CHECK_FUNC_ARG                                               
         41        FETCH_DIM_FUNC_ARG                                   $33     !7, 'time'
         42        SEND_FUNC_ARG                                                $33
         43        DO_FCALL                                          0          
         44        ASSIGN                                                       !8, $32
   28    45        INIT_METHOD_CALL                                             !8, 'modify'
         46        SEND_VAL_EX                                                  '%2B1+hour'
         47        DO_FCALL                                          0  $36     
         48        INIT_METHOD_CALL                                             $36, 'modify'
         49        SEND_VAL_EX                                                  '-1+second'
         50        DO_FCALL                                          0          
   29    51        INIT_METHOD_CALL                                             !8, 'setTimezone'
         52        SEND_VAR_EX                                                  !5
         53        DO_FCALL                                          0          
   30    54        INIT_STATIC_METHOD_CALL                                      'DateTime', 'createFromFormat'
         55        SEND_VAL                                                     'Y-m-d+H%3Ai%3As'
         56        INIT_METHOD_CALL                                             !8, 'format'
         57        SEND_VAL_EX                                                  'Y-m-d+H%3Ai%3As'
         58        DO_FCALL                                          0  $39     
         59        SEND_VAR                                                     $39
         60        SEND_VAR                                                     !5
         61        DO_FCALL                                          0  $40     
         62        ASSIGN                                                       !8, $40
   31    63        INIT_METHOD_CALL                                             !8, 'format'
         64        SEND_VAL_EX                                                  'I'
         65        DO_FCALL                                          0  $42     
         66        IS_IDENTICAL                                                 $42, '0'
         67      > JMPZ                                                         ~43, ->77
   32    68    >   INIT_METHOD_CALL                                             !8, 'format'
         69        SEND_VAL_EX                                                  'Y-m-d%5CTH%3Ai%3AsP'
         70        DO_FCALL                                          0  $44     
         71        CONCAT                                               ~45     $44, '+'
         72        INIT_METHOD_CALL                                             !5, 'getName'
         73        DO_FCALL                                          0  $46     
         74        CONCAT                                               ~47     ~45, $46
         75        ASSIGN_DIM                                                   !1, ~47
         76        OP_DATA                                                      1
   18    77    > > JMP                                                          ->29
         78    >   FE_FREE                                                      $26
    7    79      > JMP                                                          ->8
         80    >   FE_FREE                                                      $15
    6    81      > JMP                                                          ->5
         82    >   FE_FREE                                                      $12
   39    83        INIT_FCALL                                                   'array_map'
         84        DECLARE_LAMBDA_FUNCTION                              ~49     [0]
         85        SEND_VAL                                                     ~49
         86        INIT_FCALL                                                   'array_keys'
         87        SEND_VAR                                                     !1
         88        DO_ICALL                                             $50     
         89        SEND_VAR                                                     $50
         90        DO_ICALL                                                     
         91      > RETURN                                                       1


Dynamic Functions:
Dynamic Function 0
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/vslF6
function name:  {closure:/in/vslF6:39}
number of ops:  4
compiled vars:  !0 = $x
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
          0  E >   RECV                                                 !0      
          1        ECHO                                                         !0
          2        ECHO                                                         '%0A'
          3      > RETURN                                                       null

End of Dynamic Function 0

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
170.28 ms | 4749 KiB | 15 Q