3v4l.org

run code in 300+ PHP versions simultaneously
<?php $start_date = '2015-09-21'; $end_Date = '2016-09-21'; $date1 = new DateTime($start_date); $date2 = new DateTime($end_Date); $interval = $date1->diff($date2); $weeks = floor(($interval->days) / 7); for($i = 1; $i <= $weeks; $i++){ $date1->add(new DateInterval('P4D')); echo $i." = ".$start_date." - ".$date1->format('Y-m-d')."\n"; $date1->add(new DateInterval('P3D')); $start_date = $date1->format('Y-m-d'); }
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 48
Branch analysis from position: 48
2 jumps found. (Code = 44) Position 1 = 50, Position 2 = 22
Branch analysis from position: 50
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 22
2 jumps found. (Code = 44) Position 1 = 50, Position 2 = 22
Branch analysis from position: 50
Branch analysis from position: 22
filename:       /in/1cYUM
function name:  (null)
number of ops:  51
compiled vars:  !0 = $start_date, !1 = $end_Date, !2 = $date1, !3 = $date2, !4 = $interval, !5 = $weeks, !6 = $i
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, '2015-09-21'
    3     1        ASSIGN                                                   !1, '2016-09-21'
    5     2        NEW                                              $9      'DateTime'
          3        SEND_VAR_EX                                              !0
          4        DO_FCALL                                      0          
          5        ASSIGN                                                   !2, $9
    6     6        NEW                                              $12     'DateTime'
          7        SEND_VAR_EX                                              !1
          8        DO_FCALL                                      0          
          9        ASSIGN                                                   !3, $12
    7    10        INIT_METHOD_CALL                                         !2, 'diff'
         11        SEND_VAR_EX                                              !3
         12        DO_FCALL                                      0  $15     
         13        ASSIGN                                                   !4, $15
    9    14        INIT_FCALL                                               'floor'
         15        FETCH_OBJ_R                                      ~17     !4, 'days'
         16        DIV                                              ~18     ~17, 7
         17        SEND_VAL                                                 ~18
         18        DO_ICALL                                         $19     
         19        ASSIGN                                                   !5, $19
   11    20        ASSIGN                                                   !6, 1
         21      > JMP                                                      ->48
   12    22    >   INIT_METHOD_CALL                                         !2, 'add'
         23        NEW                                              $22     'DateInterval'
         24        SEND_VAL_EX                                              'P4D'
         25        DO_FCALL                                      0          
         26        SEND_VAR_NO_REF_EX                                       $22
         27        DO_FCALL                                      0          
   13    28        CONCAT                                           ~25     !6, '+%3D+'
         29        CONCAT                                           ~26     ~25, !0
         30        CONCAT                                           ~27     ~26, '+-+'
         31        INIT_METHOD_CALL                                         !2, 'format'
         32        SEND_VAL_EX                                              'Y-m-d'
         33        DO_FCALL                                      0  $28     
         34        CONCAT                                           ~29     ~27, $28
         35        CONCAT                                           ~30     ~29, '%0A'
         36        ECHO                                                     ~30
   14    37        INIT_METHOD_CALL                                         !2, 'add'
         38        NEW                                              $31     'DateInterval'
         39        SEND_VAL_EX                                              'P3D'
         40        DO_FCALL                                      0          
         41        SEND_VAR_NO_REF_EX                                       $31
         42        DO_FCALL                                      0          
   15    43        INIT_METHOD_CALL                                         !2, 'format'
         44        SEND_VAL_EX                                              'Y-m-d'
         45        DO_FCALL                                      0  $34     
         46        ASSIGN                                                   !0, $34
   11    47        PRE_INC                                                  !6
         48    >   IS_SMALLER_OR_EQUAL                                      !6, !5
         49      > JMPNZ                                                    ~37, ->22
   16    50    > > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
137.22 ms | 1005 KiB | 14 Q