3v4l.org

run code in 300+ PHP versions simultaneously
<?php $_POST = [ "start_shift1" => "09:00", "end_shift1" => "17:00", "break1" => "02:30" ]; if(isset($_POST['start_shift1']) && $_POST['end_shift1'] && $_POST['break1'] != "") { $datetime1 = new DateTime($_POST['start_shift1']); $datetime2 = new DateTime($_POST['end_shift1']); list($h, $m) = explode(":", $_POST['break1']); $break = new DateInterval("PT{$h}H{$m}M"); $mondiff = $datetime1->add($break)->diff($datetime2); ?> <input type="text" readonly class="form-control" name="monday" value="<?php echo $mondiff->format('%H:%I'); ?>"> <?php } ?>
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 46) Position 1 = 5, Position 2 = 8
Branch analysis from position: 5
2 jumps found. (Code = 46) Position 1 = 9, Position 2 = 13
Branch analysis from position: 9
2 jumps found. (Code = 43) Position 1 = 14, Position 2 = 61
Branch analysis from position: 14
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 61
Branch analysis from position: 13
Branch analysis from position: 8
filename:       /in/MdEJl
function name:  (null)
number of ops:  62
compiled vars:  !0 = $datetime1, !1 = $datetime2, !2 = $h, !3 = $m, !4 = $break, !5 = $mondiff
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   FETCH_W                      global              $6      '_POST'
          1        ASSIGN                                                   $6, <array>
    9     2        FETCH_IS                                         ~8      '_POST'
          3        ISSET_ISEMPTY_DIM_OBJ                         0  ~9      ~8, 'start_shift1'
          4      > JMPZ_EX                                          ~9      ~9, ->8
          5    >   FETCH_R                      global              ~10     '_POST'
          6        FETCH_DIM_R                                      ~11     ~10, 'end_shift1'
          7        BOOL                                             ~9      ~11
          8    > > JMPZ_EX                                          ~9      ~9, ->13
          9    >   FETCH_R                      global              ~12     '_POST'
         10        FETCH_DIM_R                                      ~13     ~12, 'break1'
         11        IS_NOT_EQUAL                                     ~14     ~13, ''
         12        BOOL                                             ~9      ~14
         13    > > JMPZ                                                     ~9, ->61
   11    14    >   NEW                                              $15     'DateTime'
         15        CHECK_FUNC_ARG                                           
         16        FETCH_FUNC_ARG               global              $16     '_POST'
         17        FETCH_DIM_FUNC_ARG                               $17     $16, 'start_shift1'
         18        SEND_FUNC_ARG                                            $17
         19        DO_FCALL                                      0          
         20        ASSIGN                                                   !0, $15
   12    21        NEW                                              $20     'DateTime'
         22        CHECK_FUNC_ARG                                           
         23        FETCH_FUNC_ARG               global              $21     '_POST'
         24        FETCH_DIM_FUNC_ARG                               $22     $21, 'end_shift1'
         25        SEND_FUNC_ARG                                            $22
         26        DO_FCALL                                      0          
         27        ASSIGN                                                   !1, $20
   14    28        INIT_FCALL                                               'explode'
         29        SEND_VAL                                                 '%3A'
         30        FETCH_R                      global              ~25     '_POST'
         31        FETCH_DIM_R                                      ~26     ~25, 'break1'
         32        SEND_VAL                                                 ~26
         33        DO_ICALL                                         $27     
         34        FETCH_LIST_R                                     $28     $27, 0
         35        ASSIGN                                                   !2, $28
         36        FETCH_LIST_R                                     $30     $27, 1
         37        ASSIGN                                                   !3, $30
         38        FREE                                                     $27
   15    39        NEW                                              $32     'DateInterval'
         40        ROPE_INIT                                     5  ~34     'PT'
         41        ROPE_ADD                                      1  ~34     ~34, !2
         42        ROPE_ADD                                      2  ~34     ~34, 'H'
         43        ROPE_ADD                                      3  ~34     ~34, !3
         44        ROPE_END                                      4  ~33     ~34, 'M'
         45        SEND_VAL_EX                                              ~33
         46        DO_FCALL                                      0          
         47        ASSIGN                                                   !4, $32
   17    48        INIT_METHOD_CALL                                         !0, 'add'
         49        SEND_VAR_EX                                              !4
         50        DO_FCALL                                      0  $39     
         51        INIT_METHOD_CALL                                         $39, 'diff'
         52        SEND_VAR_EX                                              !1
         53        DO_FCALL                                      0  $40     
         54        ASSIGN                                                   !5, $40
   20    55        ECHO                                                     '%3Cinput+type%3D%22text%22+readonly+class%3D%22form-control%22+name%3D%22monday%22+value%3D%22'
         56        INIT_METHOD_CALL                                         !5, 'format'
         57        SEND_VAL_EX                                              '%25H%3A%25I'
         58        DO_FCALL                                      0  $42     
         59        ECHO                                                     $42
         60        ECHO                                                     '%22%3E%0A'
   23    61    > > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
163.24 ms | 945 KiB | 16 Q