3v4l.org

run code in 500+ PHP versions simultaneously
<?php $start_date = new DateTime("2023-01-03"); $end_date = new DateTime("2023-12-15"); while ($start_date <= $end_date) { printf( "%s..%s\n", max($start_date->format("Y-m-01"), $start_date->format("Y-m-d")), min($end_date->format("Y-m-d"), $start_date->format("Y-m-t")) ); $start_date->modify('+1 month first day of'); }
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 31
Branch analysis from position: 31
2 jumps found. (Code = 44) Position 1 = 33, Position 2 = 9
Branch analysis from position: 33
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 9
2 jumps found. (Code = 44) Position 1 = 33, Position 2 = 9
Branch analysis from position: 33
Branch analysis from position: 9
filename:       /in/FsLnX
function name:  (null)
number of ops:  34
compiled vars:  !0 = $start_date, !1 = $end_date
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    3     0  E >   NEW                                                  $2      'DateTime'
          1        SEND_VAL_EX                                                  '2023-01-03'
          2        DO_FCALL                                          0          
          3        ASSIGN                                                       !0, $2
    4     4        NEW                                                  $5      'DateTime'
          5        SEND_VAL_EX                                                  '2023-12-15'
          6        DO_FCALL                                          0          
          7        ASSIGN                                                       !1, $5
    6     8      > JMP                                                          ->31
    7     9    >   INIT_FCALL                                                   'printf'
    8    10        SEND_VAL                                                     '%25s..%25s%0A'
    9    11        INIT_METHOD_CALL                                             !0, 'format'
         12        SEND_VAL_EX                                                  'Y-m-01'
         13        DO_FCALL                                          0  $8      
         14        INIT_METHOD_CALL                                             !0, 'format'
         15        SEND_VAL_EX                                                  'Y-m-d'
         16        DO_FCALL                                          0  $9      
         17        FRAMELESS_ICALL_2                max                 ~10     $8, $9
         18        SEND_VAL                                                     ~10
   10    19        INIT_METHOD_CALL                                             !1, 'format'
         20        SEND_VAL_EX                                                  'Y-m-d'
         21        DO_FCALL                                          0  $11     
         22        INIT_METHOD_CALL                                             !0, 'format'
         23        SEND_VAL_EX                                                  'Y-m-t'
         24        DO_FCALL                                          0  $12     
         25        FRAMELESS_ICALL_2                min                 ~13     $11, $12
         26        SEND_VAL                                                     ~13
    7    27        DO_ICALL                                                     
   12    28        INIT_METHOD_CALL                                             !0, 'modify'
         29        SEND_VAL_EX                                                  '%2B1+month+first+day+of'
         30        DO_FCALL                                          0          
    6    31    >   IS_SMALLER_OR_EQUAL                                          !0, !1
         32      > JMPNZ                                                        ~16, ->9
   13    33    > > RETURN                                                       1

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
161.57 ms | 1795 KiB | 14 Q