3v4l.org

run code in 300+ PHP versions simultaneously
<?php $date=strtotime('2018-03-21'); $date2=strtotime('2018-05-14' . '23:59'); While($date <= $date2){ $new[date("W", $date)]['start'] = date("Y-m-d", $date); $new[date("W", $date)]['end'] = date("Y-m-d", $date + (6-date("N", $date))*86400); $date = $date + (8-date("N", $date))*86400; } $w =array_keys($new); $new[end($w)]["end"] = date("Y-m-d", $date2); Var_dump($new);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 46
Branch analysis from position: 46
2 jumps found. (Code = 44) Position 1 = 48, Position 2 = 9
Branch analysis from position: 48
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 9
2 jumps found. (Code = 44) Position 1 = 48, Position 2 = 9
Branch analysis from position: 48
Branch analysis from position: 9
filename:       /in/nMk0X
function name:  (null)
number of ops:  66
compiled vars:  !0 = $date, !1 = $date2, !2 = $new, !3 = $w
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   INIT_FCALL                                               'strtotime'
          1        SEND_VAL                                                 '2018-03-21'
          2        DO_ICALL                                         $4      
          3        ASSIGN                                                   !0, $4
    4     4        INIT_FCALL                                               'strtotime'
          5        SEND_VAL                                                 '2018-05-1423%3A59'
          6        DO_ICALL                                         $6      
          7        ASSIGN                                                   !1, $6
    6     8      > JMP                                                      ->46
    7     9    >   INIT_FCALL                                               'date'
         10        SEND_VAL                                                 'W'
         11        SEND_VAR                                                 !0
         12        DO_ICALL                                         $8      
         13        INIT_FCALL                                               'date'
         14        SEND_VAL                                                 'Y-m-d'
         15        SEND_VAR                                                 !0
         16        DO_ICALL                                         $11     
         17        FETCH_DIM_W                                      $9      !2, $8
         18        ASSIGN_DIM                                               $9, 'start'
         19        OP_DATA                                                  $11
    8    20        INIT_FCALL                                               'date'
         21        SEND_VAL                                                 'W'
         22        SEND_VAR                                                 !0
         23        DO_ICALL                                         $12     
         24        INIT_FCALL                                               'date'
         25        SEND_VAL                                                 'Y-m-d'
         26        INIT_FCALL                                               'date'
         27        SEND_VAL                                                 'N'
         28        SEND_VAR                                                 !0
         29        DO_ICALL                                         $15     
         30        SUB                                              ~16     6, $15
         31        MUL                                              ~17     ~16, 86400
         32        ADD                                              ~18     !0, ~17
         33        SEND_VAL                                                 ~18
         34        DO_ICALL                                         $19     
         35        FETCH_DIM_W                                      $13     !2, $12
         36        ASSIGN_DIM                                               $13, 'end'
         37        OP_DATA                                                  $19
    9    38        INIT_FCALL                                               'date'
         39        SEND_VAL                                                 'N'
         40        SEND_VAR                                                 !0
         41        DO_ICALL                                         $20     
         42        SUB                                              ~21     8, $20
         43        MUL                                              ~22     ~21, 86400
         44        ADD                                              ~23     !0, ~22
         45        ASSIGN                                                   !0, ~23
    6    46    >   IS_SMALLER_OR_EQUAL                                      !0, !1
         47      > JMPNZ                                                    ~25, ->9
   11    48    >   INIT_FCALL                                               'array_keys'
         49        SEND_VAR                                                 !2
         50        DO_ICALL                                         $26     
         51        ASSIGN                                                   !3, $26
   13    52        INIT_FCALL                                               'end'
         53        SEND_REF                                                 !3
         54        DO_ICALL                                         $28     
         55        INIT_FCALL                                               'date'
         56        SEND_VAL                                                 'Y-m-d'
         57        SEND_VAR                                                 !1
         58        DO_ICALL                                         $31     
         59        FETCH_DIM_W                                      $29     !2, $28
         60        ASSIGN_DIM                                               $29, 'end'
         61        OP_DATA                                                  $31
   14    62        INIT_FCALL                                               'var_dump'
         63        SEND_VAR                                                 !2
         64        DO_ICALL                                                 
         65      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
175.72 ms | 1405 KiB | 23 Q