3v4l.org

run code in 500+ PHP versions simultaneously
<?php $actual='34:50'; $expected='22:00'; list($hrs, $min) = explode(':', $actual); $total1 = $min + $hrs * 60; list($hrs, $min) = explode(':', $expected); $diff = $min + $hrs * 60 - $total1; $start_time = new DateTime(); $expected_time = new DateTime(); $expected_time->modify(($diff < 0 ? '' : '+') . "$diff minutes"); $time = $start_time->diff($expected_time); echo $time->format('%hh %Im');
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 36, Position 2 = 38
Branch analysis from position: 36
1 jumps found. (Code = 42) Position 1 = 39
Branch analysis from position: 39
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 38
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/Qev4c
function name:  (null)
number of ops:  53
compiled vars:  !0 = $actual, !1 = $expected, !2 = $hrs, !3 = $min, !4 = $total1, !5 = $diff, !6 = $start_time, !7 = $expected_time, !8 = $time
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                       !0, '34%3A50'
    4     1        ASSIGN                                                       !1, '22%3A00'
    6     2        INIT_FCALL                                                   'explode'
          3        SEND_VAL                                                     '%3A'
          4        SEND_VAR                                                     !0
          5        DO_ICALL                                             $11     
          6        FETCH_LIST_R                                         $12     $11, 0
          7        ASSIGN                                                       !2, $12
          8        FETCH_LIST_R                                         $14     $11, 1
          9        ASSIGN                                                       !3, $14
         10        FREE                                                         $11
    7    11        MUL                                                  ~16     !2, 60
         12        ADD                                                  ~17     !3, ~16
         13        ASSIGN                                                       !4, ~17
    9    14        INIT_FCALL                                                   'explode'
         15        SEND_VAL                                                     '%3A'
         16        SEND_VAR                                                     !1
         17        DO_ICALL                                             $19     
         18        FETCH_LIST_R                                         $20     $19, 0
         19        ASSIGN                                                       !2, $20
         20        FETCH_LIST_R                                         $22     $19, 1
         21        ASSIGN                                                       !3, $22
         22        FREE                                                         $19
   10    23        MUL                                                  ~24     !2, 60
         24        ADD                                                  ~25     !3, ~24
         25        SUB                                                  ~26     ~25, !4
         26        ASSIGN                                                       !5, ~26
   12    27        NEW                                                  $28     'DateTime'
         28        DO_FCALL                                          0          
         29        ASSIGN                                                       !6, $28
   13    30        NEW                                                  $31     'DateTime'
         31        DO_FCALL                                          0          
         32        ASSIGN                                                       !7, $31
   14    33        INIT_METHOD_CALL                                             !7, 'modify'
         34        IS_SMALLER                                                   !5, 0
         35      > JMPZ                                                         ~34, ->38
         36    >   QM_ASSIGN                                            ~35     ''
         37      > JMP                                                          ->39
         38    >   QM_ASSIGN                                            ~35     '%2B'
         39    >   NOP                                                          
         40        FAST_CONCAT                                          ~36     !5, '+minutes'
         41        CONCAT                                               ~37     ~35, ~36
         42        SEND_VAL_EX                                                  ~37
         43        DO_FCALL                                          0          
   15    44        INIT_METHOD_CALL                                             !6, 'diff'
         45        SEND_VAR_EX                                                  !7
         46        DO_FCALL                                          0  $39     
         47        ASSIGN                                                       !8, $39
   17    48        INIT_METHOD_CALL                                             !8, 'format'
         49        SEND_VAL_EX                                                  '%25hh+%25Im'
         50        DO_FCALL                                          0  $41     
         51        ECHO                                                         $41
         52      > RETURN                                                       1

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
160.55 ms | 2525 KiB | 14 Q