3v4l.org

run code in 300+ PHP versions simultaneously
<?php $start = new DateTime("2017-10-01 10:00:00"); $end = new DateTime("2017-10-03 19:00:00"); $datesArray = iterator_to_array(new \DatePeriod($start, new \DateInterval('P1D'), $end)); array_walk($datesArray, function ($value, $key) use (&$dates, $start, $end) { $dates[$key]['start'] = ( ($key == 0) ? $value->format('Y-m-d H:i:s') : $value->setTime(00, 0, 00)->format('Y-m-d H:i:s') ); $endDate = $value->setTime(23, 59, 59); if ($endDate->getTimestamp() > $end->getTimestamp()) { $endDate = $end; } $dates[$key]['end'] = $endDate->format('Y-m-d H:i:s'); }); print_r($dates);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/UnDcA
function name:  (null)
number of ops:  32
compiled vars:  !0 = $start, !1 = $end, !2 = $datesArray, !3 = $dates
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   NEW                                              $4      'DateTime'
          1        SEND_VAL_EX                                              '2017-10-01+10%3A00%3A00'
          2        DO_FCALL                                      0          
          3        ASSIGN                                                   !0, $4
    4     4        NEW                                              $7      'DateTime'
          5        SEND_VAL_EX                                              '2017-10-03+19%3A00%3A00'
          6        DO_FCALL                                      0          
          7        ASSIGN                                                   !1, $7
    6     8        INIT_FCALL                                               'iterator_to_array'
          9        NEW                                              $10     'DatePeriod'
         10        SEND_VAR_EX                                              !0
         11        NEW                                              $11     'DateInterval'
         12        SEND_VAL_EX                                              'P1D'
         13        DO_FCALL                                      0          
         14        SEND_VAR_NO_REF_EX                                       $11
         15        SEND_VAR_EX                                              !1
         16        DO_FCALL                                      0          
         17        SEND_VAR                                                 $10
         18        DO_ICALL                                         $14     
         19        ASSIGN                                                   !2, $14
    8    20        INIT_FCALL                                               'array_walk'
         21        SEND_REF                                                 !2
         22        DECLARE_LAMBDA_FUNCTION                          ~16     [0]
         23        BIND_LEXICAL                                             ~16, !3
         24        BIND_LEXICAL                                             ~16, !0
         25        BIND_LEXICAL                                             ~16, !1
   23    26        SEND_VAL                                                 ~16
    8    27        DO_ICALL                                                 
   24    28        INIT_FCALL                                               'print_r'
         29        SEND_VAR                                                 !3
         30        DO_ICALL                                                 
         31      > RETURN                                                   1


Dynamic Functions:
Dynamic Function 0
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 7, Position 2 = 12
Branch analysis from position: 7
1 jumps found. (Code = 42) Position 1 = 21
Branch analysis from position: 21
2 jumps found. (Code = 43) Position 1 = 36, Position 2 = 37
Branch analysis from position: 36
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 37
Branch analysis from position: 12
2 jumps found. (Code = 43) Position 1 = 36, Position 2 = 37
Branch analysis from position: 36
Branch analysis from position: 37
filename:       /in/UnDcA
function name:  {closure}
number of ops:  44
compiled vars:  !0 = $value, !1 = $key, !2 = $dates, !3 = $start, !4 = $end, !5 = $endDate
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    8     0  E >   RECV                                             !0      
          1        RECV                                             !1      
          2        BIND_STATIC                                              !2
          3        BIND_STATIC                                              !3
          4        BIND_STATIC                                              !4
   11     5        IS_EQUAL                                                 !1, 0
          6      > JMPZ                                                     ~8, ->12
          7    >   INIT_METHOD_CALL                                         !0, 'format'
          8        SEND_VAL_EX                                              'Y-m-d+H%3Ai%3As'
          9        DO_FCALL                                      0  $9      
         10        QM_ASSIGN                                        ~10     $9
         11      > JMP                                                      ->21
         12    >   INIT_METHOD_CALL                                         !0, 'setTime'
         13        SEND_VAL_EX                                              0
         14        SEND_VAL_EX                                              0
         15        SEND_VAL_EX                                              0
         16        DO_FCALL                                      0  $11     
         17        INIT_METHOD_CALL                                         $11, 'format'
         18        SEND_VAL_EX                                              'Y-m-d+H%3Ai%3As'
         19        DO_FCALL                                      0  $12     
         20        QM_ASSIGN                                        ~10     $12
   10    21    >   FETCH_DIM_W                                      $6      !2, !1
         22        ASSIGN_DIM                                               $6, 'start'
   11    23        OP_DATA                                                  ~10
   14    24        INIT_METHOD_CALL                                         !0, 'setTime'
         25        SEND_VAL_EX                                              23
         26        SEND_VAL_EX                                              59
         27        SEND_VAL_EX                                              59
         28        DO_FCALL                                      0  $13     
         29        ASSIGN                                                   !5, $13
   16    30        INIT_METHOD_CALL                                         !5, 'getTimestamp'
         31        DO_FCALL                                      0  $15     
         32        INIT_METHOD_CALL                                         !4, 'getTimestamp'
         33        DO_FCALL                                      0  $16     
         34        IS_SMALLER                                               $16, $15
         35      > JMPZ                                                     ~17, ->37
   17    36    >   ASSIGN                                                   !5, !4
   20    37    >   INIT_METHOD_CALL                                         !5, 'format'
         38        SEND_VAL_EX                                              'Y-m-d+H%3Ai%3As'
         39        DO_FCALL                                      0  $21     
         40        FETCH_DIM_W                                      $19     !2, !1
         41        ASSIGN_DIM                                               $19, 'end'
         42        OP_DATA                                                  $21
   23    43      > RETURN                                                   null

End of Dynamic Function 0

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
142.41 ms | 1012 KiB | 16 Q