3v4l.org

run code in 300+ PHP versions simultaneously
<?php $days = []; $searchData = ['dat' => '2015-11-11']; $offset = 3; $now = date_create()->setTime(0, 0); $offsetStart = -1 * $offset; echo date_create($searchData['dat'])->modify($offsetStart .' days')->format('Y-m-d H:i'); echo PHP_EOL . $now->format('Y-m-d H:i:s'); echo PHP_EOL . date_create($searchData['dat'])->diff($now)->days; if (date_create($searchData['dat'])->modify($offsetStart .' days') < $now) { $offsetStart = -1 * date_create($searchData['dat'])->diff($now)->days; } $offsetEnd = 2 * $offset + $offsetStart; for ($i = $offsetStart; $i <= $offsetEnd; $i++) { $days[] = $i; } print_r($days);
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 49, Position 2 = 59
Branch analysis from position: 49
1 jumps found. (Code = 42) Position 1 = 67
Branch analysis from position: 67
2 jumps found. (Code = 44) Position 1 = 69, Position 2 = 64
Branch analysis from position: 69
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 64
2 jumps found. (Code = 44) Position 1 = 69, Position 2 = 64
Branch analysis from position: 69
Branch analysis from position: 64
Branch analysis from position: 59
filename:       /in/sGpJg
function name:  (null)
number of ops:  73
compiled vars:  !0 = $days, !1 = $searchData, !2 = $offset, !3 = $now, !4 = $offsetStart, !5 = $offsetEnd, !6 = $i
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                   !0, <array>
    4     1        ASSIGN                                                   !1, <array>
    5     2        ASSIGN                                                   !2, 3
    6     3        INIT_FCALL                                               'date_create'
          4        DO_ICALL                                         $10     
          5        INIT_METHOD_CALL                                         $10, 'setTime'
          6        SEND_VAL_EX                                              0
          7        SEND_VAL_EX                                              0
          8        DO_FCALL                                      0  $11     
          9        ASSIGN                                                   !3, $11
    8    10        MUL                                              ~13     !2, -1
         11        ASSIGN                                                   !4, ~13
    9    12        INIT_FCALL                                               'date_create'
         13        FETCH_DIM_R                                      ~15     !1, 'dat'
         14        SEND_VAL                                                 ~15
         15        DO_ICALL                                         $16     
         16        INIT_METHOD_CALL                                         $16, 'modify'
         17        CONCAT                                           ~17     !4, '+days'
         18        SEND_VAL_EX                                              ~17
         19        DO_FCALL                                      0  $18     
         20        INIT_METHOD_CALL                                         $18, 'format'
         21        SEND_VAL_EX                                              'Y-m-d+H%3Ai'
         22        DO_FCALL                                      0  $19     
         23        ECHO                                                     $19
   10    24        INIT_METHOD_CALL                                         !3, 'format'
         25        SEND_VAL_EX                                              'Y-m-d+H%3Ai%3As'
         26        DO_FCALL                                      0  $20     
         27        CONCAT                                           ~21     '%0A', $20
         28        ECHO                                                     ~21
   11    29        INIT_FCALL                                               'date_create'
         30        FETCH_DIM_R                                      ~22     !1, 'dat'
         31        SEND_VAL                                                 ~22
         32        DO_ICALL                                         $23     
         33        INIT_METHOD_CALL                                         $23, 'diff'
         34        SEND_VAR_EX                                              !3
         35        DO_FCALL                                      0  $24     
         36        FETCH_OBJ_R                                      ~25     $24, 'days'
         37        CONCAT                                           ~26     '%0A', ~25
         38        ECHO                                                     ~26
   12    39        INIT_FCALL                                               'date_create'
         40        FETCH_DIM_R                                      ~27     !1, 'dat'
         41        SEND_VAL                                                 ~27
         42        DO_ICALL                                         $28     
         43        INIT_METHOD_CALL                                         $28, 'modify'
         44        CONCAT                                           ~29     !4, '+days'
         45        SEND_VAL_EX                                              ~29
         46        DO_FCALL                                      0  $30     
         47        IS_SMALLER                                               $30, !3
         48      > JMPZ                                                     ~31, ->59
   13    49    >   INIT_FCALL                                               'date_create'
         50        FETCH_DIM_R                                      ~32     !1, 'dat'
         51        SEND_VAL                                                 ~32
         52        DO_ICALL                                         $33     
         53        INIT_METHOD_CALL                                         $33, 'diff'
         54        SEND_VAR_EX                                              !3
         55        DO_FCALL                                      0  $34     
         56        FETCH_OBJ_R                                      ~35     $34, 'days'
         57        MUL                                              ~36     ~35, -1
         58        ASSIGN                                                   !4, ~36
   15    59    >   MUL                                              ~38     !2, 2
         60        ADD                                              ~39     ~38, !4
         61        ASSIGN                                                   !5, ~39
   17    62        ASSIGN                                                   !6, !4
         63      > JMP                                                      ->67
   18    64    >   ASSIGN_DIM                                               !0
         65        OP_DATA                                                  !6
   17    66        PRE_INC                                                  !6
         67    >   IS_SMALLER_OR_EQUAL                                      !6, !5
         68      > JMPNZ                                                    ~44, ->64
   21    69    >   INIT_FCALL                                               'print_r'
         70        SEND_VAR                                                 !0
         71        DO_ICALL                                                 
         72      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
170.61 ms | 1400 KiB | 17 Q