3v4l.org

run code in 300+ PHP versions simultaneously
<?php function daysInWeek($weekNum) { $result = array(); $datetime = new DateTime(); $datetime->setISODate((int)$datetime->format('o'), $weekNum, 1); $dateTime->setTime(0, 0, 0); $interval = new DateInterval('P1D'); $week = new DatePeriod($datetime, $interval, 6); foreach($week as $day){ $result[] = $day->format('D d m Y H:i:s'); } return $result; } var_dump(daysInWeek(24)); //and the difficult ones:- var_dump(daysInWeek(1)); var_dump(daysInWeek(53));
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/eGjPY
function name:  (null)
number of ops:  19
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   17     0  E >   INIT_FCALL                                               'var_dump'
          1        INIT_FCALL                                               'daysinweek'
          2        SEND_VAL                                                 24
          3        DO_FCALL                                      0  $0      
          4        SEND_VAR                                                 $0
          5        DO_ICALL                                                 
   20     6        INIT_FCALL                                               'var_dump'
          7        INIT_FCALL                                               'daysinweek'
          8        SEND_VAL                                                 1
          9        DO_FCALL                                      0  $2      
         10        SEND_VAR                                                 $2
         11        DO_ICALL                                                 
   21    12        INIT_FCALL                                               'var_dump'
         13        INIT_FCALL                                               'daysinweek'
         14        SEND_VAL                                                 53
         15        DO_FCALL                                      0  $4      
         16        SEND_VAR                                                 $4
         17        DO_ICALL                                                 
         18      > RETURN                                                   1

Function daysinweek:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 30, Position 2 = 37
Branch analysis from position: 30
2 jumps found. (Code = 78) Position 1 = 31, Position 2 = 37
Branch analysis from position: 31
1 jumps found. (Code = 42) Position 1 = 30
Branch analysis from position: 30
Branch analysis from position: 37
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 37
filename:       /in/eGjPY
function name:  daysInWeek
number of ops:  40
compiled vars:  !0 = $weekNum, !1 = $result, !2 = $datetime, !3 = $dateTime, !4 = $interval, !5 = $week, !6 = $day
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   RECV                                             !0      
    4     1        ASSIGN                                                   !1, <array>
    5     2        NEW                                              $8      'DateTime'
          3        DO_FCALL                                      0          
          4        ASSIGN                                                   !2, $8
    6     5        INIT_METHOD_CALL                                         !2, 'setISODate'
          6        INIT_METHOD_CALL                                         !2, 'format'
          7        SEND_VAL_EX                                              'o'
          8        DO_FCALL                                      0  $11     
          9        CAST                                          4  ~12     $11
         10        SEND_VAL_EX                                              ~12
         11        SEND_VAR_EX                                              !0
         12        SEND_VAL_EX                                              1
         13        DO_FCALL                                      0          
    7    14        INIT_METHOD_CALL                                         !3, 'setTime'
         15        SEND_VAL_EX                                              0
         16        SEND_VAL_EX                                              0
         17        SEND_VAL_EX                                              0
         18        DO_FCALL                                      0          
    8    19        NEW                                              $15     'DateInterval'
         20        SEND_VAL_EX                                              'P1D'
         21        DO_FCALL                                      0          
         22        ASSIGN                                                   !4, $15
    9    23        NEW                                              $18     'DatePeriod'
         24        SEND_VAR_EX                                              !2
         25        SEND_VAR_EX                                              !4
         26        SEND_VAL_EX                                              6
         27        DO_FCALL                                      0          
         28        ASSIGN                                                   !5, $18
   11    29      > FE_RESET_R                                       $21     !5, ->37
         30    > > FE_FETCH_R                                               $21, !6, ->37
   12    31    >   INIT_METHOD_CALL                                         !6, 'format'
         32        SEND_VAL_EX                                              'D+d+m+Y+H%3Ai%3As'
         33        DO_FCALL                                      0  $23     
         34        ASSIGN_DIM                                               !1
         35        OP_DATA                                                  $23
   11    36      > JMP                                                      ->30
         37    >   FE_FREE                                                  $21
   14    38      > RETURN                                                   !1
   15    39*     > RETURN                                                   null

End of function daysinweek

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
150.44 ms | 1403 KiB | 18 Q